hide duplicated 'Add constructor parameter' fix (IDEA-137231)

(cherry picked from commit 7c5d5ec6c5141cf7fedf6d55712fb2dffc0d3ace)
This commit is contained in:
Anna Kozlova
2015-03-09 18:13:25 +01:00
parent 6bce7a6548
commit 979dca3880
3 changed files with 20 additions and 11 deletions

View File

@@ -313,12 +313,14 @@ class PostHighlightingVisitor {
return null;
}
if (field.hasModifierProperty(PsiModifier.PRIVATE)) {
final QuickFixFactory quickFixFactory = QuickFixFactory.getInstance();
if (!myRefCountHolder.isReferenced(field) && !UnusedSymbolUtil.isImplicitUsage(myProject, field, progress)) {
String message = JavaErrorMessages.message("private.field.is.not.used", identifier.getText());
HighlightInfo highlightInfo = suggestionsToMakeFieldUsed(field, identifier, message);
if (!field.hasInitializer()) {
QuickFixAction.registerQuickFixAction(highlightInfo, HighlightMethodUtil.getFixRange(field), QuickFixFactory.getInstance().createCreateConstructorParameterFromFieldFix(field));
if (!field.hasInitializer() && !field.hasModifierProperty(PsiModifier.FINAL)) {
QuickFixAction.registerQuickFixAction(highlightInfo, HighlightMethodUtil.getFixRange(field),
quickFixFactory.createCreateConstructorParameterFromFieldFix(field));
}
return highlightInfo;
}
@@ -337,14 +339,15 @@ class PostHighlightingVisitor {
String message = JavaErrorMessages.message("private.field.is.not.assigned", identifier.getText());
final HighlightInfo info = UnusedSymbolUtil.createUnusedSymbolInfo(identifier, message, myDeadCodeInfoType);
QuickFixAction.registerQuickFixAction(info, QuickFixFactory.getInstance().createCreateGetterOrSetterFix(false, true, field), myDeadCodeKey);
QuickFixAction.registerQuickFixAction(info, HighlightMethodUtil.getFixRange(field), QuickFixFactory.getInstance().createCreateConstructorParameterFromFieldFix(
field));
QuickFixAction.registerQuickFixAction(info, quickFixFactory.createCreateGetterOrSetterFix(false, true, field), myDeadCodeKey);
if (!field.hasModifierProperty(PsiModifier.FINAL)) {
QuickFixAction.registerQuickFixAction(info, HighlightMethodUtil.getFixRange(field),
quickFixFactory.createCreateConstructorParameterFromFieldFix(field));
}
SpecialAnnotationsUtilBase.createAddToSpecialAnnotationFixes(field, new Processor<String>() {
@Override
public boolean process(final String annoName) {
QuickFixAction.registerQuickFixAction(info, QuickFixFactory.getInstance()
.createAddToDependencyInjectionAnnotationsFix(project, annoName, "fields"));
QuickFixAction.registerQuickFixAction(info, quickFixFactory.createAddToDependencyInjectionAnnotationsFix(project, annoName, "fields"));
return true;
}
});

View File

@@ -1,9 +1,12 @@
// "Add constructor parameter" "true"
package javax.annotation;
class A {
@javax.annotation.Nonnull private final Object field;
@Nonnull private final Object field;
A(@javax.annotation.Nonnull Object field, String... strs) {
this.field = field;<caret>
}
}
}
@interface Nonnull {}

View File

@@ -1,8 +1,11 @@
// "Add constructor parameter" "true"
package javax.annotation;
class A {
@javax.annotation.Nonnull private final Object <caret>field;
@Nonnull private final Object <caret>field;
A(String... strs) {
}
}
}
@interface Nonnull {}