From b545c62aa293daecc8ca11a87f86199f424e971c Mon Sep 17 00:00:00 2001 From: peter Date: Sat, 28 Sep 2013 17:30:43 +0200 Subject: [PATCH] use the proper API in rename (IDEA-113698 Getter code generation removing "is" from getter method name) --- .../quickfix/CreateGetterOrSetterFix.java | 3 +-- .../impl/java/PropertyGroup.java | 2 +- .../RemoveMiddlemanProcessor.java | 3 +-- .../rename/RenameJavaVariableProcessor.java | 4 +-- .../com/intellij/psi/util/PropertyUtil.java | 25 +++++++++---------- .../FieldHasSetterButNoGetterInspection.java | 3 +-- 6 files changed, 18 insertions(+), 22 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateGetterOrSetterFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateGetterOrSetterFix.java index 11bab8017903..dba7da867302 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateGetterOrSetterFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateGetterOrSetterFix.java @@ -44,8 +44,7 @@ public class CreateGetterOrSetterFix implements IntentionAction, LowPriorityActi myCreateGetter = createGetter; myCreateSetter = createSetter; myField = field; - Project project = field.getProject(); - myPropertyName = PropertyUtil.suggestPropertyName(project, field); + myPropertyName = PropertyUtil.suggestPropertyName(field); } @Override diff --git a/java/java-impl/src/com/intellij/ide/structureView/impl/java/PropertyGroup.java b/java/java-impl/src/com/intellij/ide/structureView/impl/java/PropertyGroup.java index a22d44277195..90e0c9eecab8 100644 --- a/java/java-impl/src/com/intellij/ide/structureView/impl/java/PropertyGroup.java +++ b/java/java-impl/src/com/intellij/ide/structureView/impl/java/PropertyGroup.java @@ -63,7 +63,7 @@ public class PropertyGroup implements Group, ColoredItemPresentation, AccessLeve public static PropertyGroup createOn(PsiElement object, final TreeElement treeElement) { if (object instanceof PsiField) { PsiField field = (PsiField)object; - PropertyGroup group = new PropertyGroup(PropertyUtil.suggestPropertyName(field.getProject(), field), field.getType(), + PropertyGroup group = new PropertyGroup(PropertyUtil.suggestPropertyName(field), field.getType(), field.hasModifierProperty(PsiModifier.STATIC), object.getProject()); group.setField(field); group.myChildren.add(treeElement); diff --git a/java/java-impl/src/com/intellij/refactoring/removemiddleman/RemoveMiddlemanProcessor.java b/java/java-impl/src/com/intellij/refactoring/removemiddleman/RemoveMiddlemanProcessor.java index 091e6f7fc0d3..246d25b0397c 100644 --- a/java/java-impl/src/com/intellij/refactoring/removemiddleman/RemoveMiddlemanProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/removemiddleman/RemoveMiddlemanProcessor.java @@ -49,8 +49,7 @@ public class RemoveMiddlemanProcessor extends FixableUsagesRefactoringProcessor super(field.getProject()); this.field = field; containingClass = field.getContainingClass(); - final Project project = field.getProject(); - final String propertyName = PropertyUtil.suggestPropertyName(project, field); + final String propertyName = PropertyUtil.suggestPropertyName(field); final boolean isStatic = field.hasModifierProperty(PsiModifier.STATIC); getter = PropertyUtil.findPropertyGetter(containingClass, propertyName, isStatic, false); myDelegateMethodInfos = memberInfos; diff --git a/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaVariableProcessor.java b/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaVariableProcessor.java index 8c2f68887c71..44305385a1d3 100644 --- a/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaVariableProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/rename/RenameJavaVariableProcessor.java @@ -144,8 +144,8 @@ public class RenameJavaVariableProcessor extends RenameJavaMemberProcessor { Project project = field.getProject(); final JavaCodeStyleManager manager = JavaCodeStyleManager.getInstance(project); - final String propertyName = manager.variableNameToPropertyName(field.getName(), VariableKind.FIELD); - String newPropertyName = manager.variableNameToPropertyName(newName, VariableKind.FIELD); + final String propertyName = PropertyUtil.suggestPropertyName(field, field.getName()); + String newPropertyName = PropertyUtil.suggestPropertyName(field, newName); boolean isStatic = field.hasModifierProperty(PsiModifier.STATIC); diff --git a/java/java-psi-api/src/com/intellij/psi/util/PropertyUtil.java b/java/java-psi-api/src/com/intellij/psi/util/PropertyUtil.java index 9c93a085698b..5f2d1d641405 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/PropertyUtil.java +++ b/java/java-psi-api/src/com/intellij/psi/util/PropertyUtil.java @@ -293,7 +293,7 @@ public class PropertyUtil { for (PsiField field : fields) { if (field.hasModifierProperty(PsiModifier.STATIC) != isStatic) continue; - if (propertyName.equals(suggestPropertyName(project, field))) return field; + if (propertyName.equals(suggestPropertyName(field))) return field; } return null; @@ -304,7 +304,7 @@ public class PropertyUtil { while (fields.hasNext()) { PsiField field = fields.next(); if (field.hasModifierProperty(PsiModifier.STATIC) != isStatic) continue; - if (propertyName.equals(suggestPropertyName(project, field))) { + if (propertyName.equals(suggestPropertyName(field))) { if (type.equals(field.getType())) return field; } } @@ -527,13 +527,14 @@ public class PropertyUtil { modifierList.addAfter(factory.createAnnotationFromText("@" + annotationQName, listOwner), null); } - public static String suggestPropertyName(PsiField field) { - return suggestPropertyName(field.getProject(), field); + public static String suggestPropertyName(@NotNull PsiField field) { + return suggestPropertyName(field, field.getName()); } - public static String suggestPropertyName(Project project, PsiField field) { - JavaCodeStyleManager codeStyleManager = JavaCodeStyleManager.getInstance(project); + + public static String suggestPropertyName(@NotNull PsiField field, @NotNull String fieldName) { + JavaCodeStyleManager codeStyleManager = JavaCodeStyleManager.getInstance(field.getProject()); VariableKind kind = codeStyleManager.getVariableKind(field); - String name = codeStyleManager.variableNameToPropertyName(field.getName(), kind); + String name = codeStyleManager.variableNameToPropertyName(fieldName, kind); if (!field.hasModifierProperty(PsiModifier.STATIC) && isBoolean(field.getType())) { if (name.startsWith(IS_PREFIX) && name.length() > IS_PREFIX.length() && Character.isUpperCase(name.charAt(IS_PREFIX.length()))) { name = Introspector.decapitalize(name.substring(IS_PREFIX.length())); @@ -543,12 +544,12 @@ public class PropertyUtil { } public static String suggestGetterName(Project project, PsiField field) { - String propertyName = suggestPropertyName(project, field); + String propertyName = suggestPropertyName(field); return suggestGetterName(propertyName, field.getType()); } public static String suggestSetterName(Project project, PsiField field) { - String propertyName = suggestPropertyName(project, field); + String propertyName = suggestPropertyName(field); return suggestSetterName(propertyName); } @@ -656,16 +657,14 @@ public class PropertyUtil { public static PsiMethod findSetterForField(PsiField field) { final PsiClass containingClass = field.getContainingClass(); - final Project project = field.getProject(); - final String propertyName = suggestPropertyName(project, field); + final String propertyName = suggestPropertyName(field); final boolean isStatic = field.hasModifierProperty(PsiModifier.STATIC); return findPropertySetter(containingClass, propertyName, isStatic, true); } public static PsiMethod findGetterForField(PsiField field) { final PsiClass containingClass = field.getContainingClass(); - final Project project = field.getProject(); - final String propertyName = suggestPropertyName(project, field); + final String propertyName = suggestPropertyName(field); final boolean isStatic = field.hasModifierProperty(PsiModifier.STATIC); return findPropertyGetter(containingClass, propertyName, isStatic, true); } diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/javabeans/FieldHasSetterButNoGetterInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/javabeans/FieldHasSetterButNoGetterInspection.java index 93ea038b1e5d..8520823d8e57 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/javabeans/FieldHasSetterButNoGetterInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/javabeans/FieldHasSetterButNoGetterInspection.java @@ -52,8 +52,7 @@ public class FieldHasSetterButNoGetterInspection extends BaseInspection { @Override public void visitField(@NotNull PsiField field) { - final Project project = field.getProject(); - final String propertyName = PropertyUtil.suggestPropertyName(project, field); + final String propertyName = PropertyUtil.suggestPropertyName(field); final boolean isStatic = field.hasModifierProperty(PsiModifier.STATIC); final PsiClass containingClass = field.getContainingClass(); final PsiMethod setter = PropertyUtil.findPropertySetter(containingClass, propertyName, isStatic, false);