introduce parameter: correct introduce parameter and remove unused from the enclosing method

This commit is contained in:
anna
2011-03-09 12:07:37 +01:00
parent f3f7fbb576
commit da1aab6e43
4 changed files with 83 additions and 4 deletions
@@ -110,7 +110,7 @@ public class OldReferenceResolver {
final JavaResolveResult adv = oldRef.advancedResolve(false);
final PsiElement scope = getClassContainingResolve(adv);
final PsiClass clss = PsiTreeUtil.getParentOfType(oldExpr, PsiClass.class);
if (clss != null && scope != null && PsiTreeUtil.isAncestor(clss, scope, false)) {
if (clss != null && scope != null ) {
final PsiElement subj = adv.getElement();
@@ -118,7 +118,6 @@ public class OldReferenceResolver {
// Parameters
if (subj instanceof PsiParameter) {
PsiParameterList parameterList = myMethodToReplaceIn.getParameterList();
PsiParameter[] parameters = parameterList.getParameters();
if (subj.getParent() != parameterList) return;
int index = parameterList.getParameterIndex((PsiParameter)subj);
@@ -133,7 +132,7 @@ public class OldReferenceResolver {
}
}
// "naked" field and methods (should become qualified)
else if ((subj instanceof PsiField || subj instanceof PsiMethod) && oldRef.getQualifierExpression() == null) {
else if ((subj instanceof PsiField || subj instanceof PsiMethod) && oldRef.getQualifierExpression() == null && PsiTreeUtil.isAncestor(clss, scope, false)) {
boolean isStatic = subj instanceof PsiField && ((PsiField)subj).hasModifierProperty(PsiModifier.STATIC) ||
subj instanceof PsiMethod && ((PsiMethod)subj).hasModifierProperty(PsiModifier.STATIC);
@@ -151,7 +150,7 @@ public class OldReferenceResolver {
}
}
if (subj instanceof PsiField) {
if (subj instanceof PsiField && PsiTreeUtil.isAncestor(clss, scope, false)) {
// probably replacing field with a getter
if (myReplaceFieldsWithGetters != IntroduceParameterRefactoring.REPLACE_FIELDS_WITH_GETTERS_NONE) {
if (myReplaceFieldsWithGetters == IntroduceParameterRefactoring.REPLACE_FIELDS_WITH_GETTERS_ALL ||