diff -r 751e1d3a8c65 java.hints/src/org/netbeans/modules/java/hints/FieldForUnusedParam.java --- a/java.hints/src/org/netbeans/modules/java/hints/FieldForUnusedParam.java Sat Apr 11 01:04:14 2009 +0200 +++ b/java.hints/src/org/netbeans/modules/java/hints/FieldForUnusedParam.java Sun Apr 12 01:51:04 2009 +0100 @@ -85,7 +85,7 @@ */ public class FieldForUnusedParam implements TreeRule { - private AtomicBoolean cancel = new AtomicBoolean(); + private final AtomicBoolean cancel = new AtomicBoolean(); public Set getTreeKinds() { return EnumSet.of(Kind.VARIABLE); @@ -165,7 +165,7 @@ if (cancel.get() || found) { return null; } - + List fix = Collections.singletonList(new FixImpl(info.getJavaSource(), TreePathHandle.create(treePath, info), existing)); String displayName = NbBundle.getMessage(FieldForUnusedParam.class, "ERR_UnusedParameter"); ErrorDescription err = ErrorDescriptionFactory.createErrorDescription(Severity.HINT, displayName,fix, info.getFileObject(), offset, offset); @@ -232,7 +232,7 @@ } if (!existing) { - VariableTree field = make.Variable(make.Modifiers(EnumSet.of(Modifier.PRIVATE)), vt.getName(), vt.getType(), null); + VariableTree field = make.Variable(make.Modifiers(EnumSet.of(Modifier.PRIVATE, Modifier.FINAL)), vt.getName(), vt.getType(), null); int insertPlace = -1; index = 0; diff -r 751e1d3a8c65 java.hints/src/org/netbeans/modules/java/hints/errors/CreateElement.java --- a/java.hints/src/org/netbeans/modules/java/hints/errors/CreateElement.java Sat Apr 11 01:04:14 2009 +0200 +++ b/java.hints/src/org/netbeans/modules/java/hints/errors/CreateElement.java Sun Apr 12 01:51:04 2009 +0100 @@ -378,6 +378,9 @@ if (target.getKind() == ElementKind.ENUM) { result.add(new CreateEnumConstant(info, simpleName, modifiers, target, type, targetFile)); } else { + if (firstMethod != null && info.getTrees().getElement(firstMethod).getKind() == ElementKind.CONSTRUCTOR ) { + modifiers.add(Modifier.FINAL); + } result.add(new CreateFieldFix(info, simpleName, modifiers, target, type, targetFile)); } }