use the proper API in rename (IDEA-113698 Getter code generation removing "is" from getter method name)

This commit is contained in:
peter
2013-09-28 17:31:41 +02:00
parent ae5e14584a
commit b545c62aa2
6 changed files with 18 additions and 22 deletions
@@ -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
@@ -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);
@@ -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;
@@ -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);
@@ -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);
}
@@ -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);