From a394afcce1bee9ec0e8fea8693eb140042e6d230 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Fri, 5 Jul 2013 23:00:46 +0400 Subject: [PATCH] Fixed JetSimpleNameReference.getElement(): now it returns expression, not identifier leaf element. Without it, replacing reference.getElement() with another expression created invalid PSI. --- .../JetChangeSignatureUsageProcessor.java | 11 +++++------ .../jet/plugin/references/JetSimpleNameReference.java | 6 ------ 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/changeSignature/JetChangeSignatureUsageProcessor.java b/idea/src/org/jetbrains/jet/plugin/refactoring/changeSignature/JetChangeSignatureUsageProcessor.java index 4127364e860..f093570c377 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/changeSignature/JetChangeSignatureUsageProcessor.java +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/changeSignature/JetChangeSignatureUsageProcessor.java @@ -80,10 +80,9 @@ public class JetChangeSignatureUsageProcessor implements ChangeSignatureUsagePro for (PsiReference reference : ReferencesSearch.search(functionPsi, functionPsi.getUseScope())) { PsiElement element = reference.getElement(); - PsiElement parent = element.getParent(); - if (parent instanceof JetReferenceExpression) { - parent = parent.getParent(); + if (element instanceof JetReferenceExpression) { + PsiElement parent = element.getParent(); if (parent instanceof JetCallExpression) result.add(new JetFunctionCallUsage((JetCallExpression) parent, functionPsi, isInherited)); @@ -114,9 +113,9 @@ public class JetChangeSignatureUsageProcessor implements ChangeSignatureUsagePro for (PsiReference reference : ReferencesSearch.search(oldParam, oldParam.getUseScope())) { PsiElement element = reference.getElement(); - if (element.getParent() instanceof JetSimpleNameExpression && - !(element.getParent().getParent() instanceof JetValueArgumentName)) // Usages in named arguments of the calls usage will be changed when the function call is changed - result.add(new JetParameterUsage((JetSimpleNameExpression) element.getParent(), parameterInfo, functionPsi, isInherited)); + if (element instanceof JetSimpleNameExpression && + !(element.getParent() instanceof JetValueArgumentName)) // Usages in named arguments of the calls usage will be changed when the function call is changed + result.add(new JetParameterUsage((JetSimpleNameExpression) element, parameterInfo, functionPsi, isInherited)); } } } diff --git a/idea/src/org/jetbrains/jet/plugin/references/JetSimpleNameReference.java b/idea/src/org/jetbrains/jet/plugin/references/JetSimpleNameReference.java index c666c6d0ef1..69b42413ddd 100644 --- a/idea/src/org/jetbrains/jet/plugin/references/JetSimpleNameReference.java +++ b/idea/src/org/jetbrains/jet/plugin/references/JetSimpleNameReference.java @@ -43,12 +43,6 @@ public class JetSimpleNameReference extends JetPsiReference { myExpression = jetSimpleNameExpression; } - @NotNull - @Override - public PsiElement getElement() { - return myExpression.getReferencedNameElement(); - } - @NotNull public JetSimpleNameExpression getExpression() { return myExpression;