mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
inline constant: do not override qualifier
This commit is contained in:
+8
-2
@@ -165,9 +165,15 @@ class InlineConstantFieldProcessor extends BaseRefactoringProcessor {
|
||||
PsiExpression qExpression = ((PsiReferenceExpression)expr).getQualifierExpression();
|
||||
if (qExpression != null) {
|
||||
if (initializer1 instanceof PsiMethodCallExpression) {
|
||||
((PsiMethodCallExpression)initializer1).getMethodExpression().setQualifierExpression(qExpression);
|
||||
PsiReferenceExpression methodExpression = ((PsiMethodCallExpression)initializer1).getMethodExpression();
|
||||
if (methodExpression.getQualifierExpression() == null) {
|
||||
methodExpression.setQualifierExpression(qExpression);
|
||||
}
|
||||
} else if (initializer1 instanceof PsiReferenceExpression) {
|
||||
((PsiReferenceExpression)initializer1).setQualifierExpression(qExpression);
|
||||
PsiReferenceExpression referenceExpression = (PsiReferenceExpression)initializer1;
|
||||
if (referenceExpression.getQualifierExpression() == null) {
|
||||
referenceExpression.setQualifierExpression(qExpression);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
class QTest {
|
||||
final int myI = Source.CONST;
|
||||
public static void main(String[] args) {
|
||||
System.out.println(new QTest().my<caret>I);
|
||||
}
|
||||
}
|
||||
|
||||
class Source {
|
||||
int CONST = 0;
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
class QTest {
|
||||
public static void main(String[] args) {
|
||||
System.out.println(Source.CONST);
|
||||
}
|
||||
}
|
||||
|
||||
class Source {
|
||||
int CONST = 0;
|
||||
}
|
||||
@@ -25,6 +25,10 @@ public class InlineConstantFieldTest extends LightCodeInsightTestCase {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testQualifiedConstantExpressionReplacedWithAnotherOne() throws Exception {
|
||||
doTest();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Sdk getProjectJDK() {
|
||||
return JavaSdkImpl.getMockJdk17("java 1.5");
|
||||
|
||||
Reference in New Issue
Block a user