mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
inplace introduce constant: restore expression from literal (IDEA-106893)
This commit is contained in:
+9
-1
@@ -162,7 +162,15 @@ public abstract class AbstractJavaInplaceIntroducer extends AbstractInplaceIntro
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return expression != null && expression.isValid() && expression.getText().equals(exprText) ? expression : null;
|
||||
if (expression != null && expression.isValid() && expression.getText().equals(exprText)) {
|
||||
return expression;
|
||||
}
|
||||
|
||||
if (refVariableElementParent instanceof PsiExpression && refVariableElementParent.getText().equals(exprText)) {
|
||||
return (PsiExpression)refVariableElementParent;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Expression createExpression(final TypeExpression expression, final String defaultType) {
|
||||
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
class B {
|
||||
public static void foo(boolean f) {
|
||||
Object[] objs = new Object[0];
|
||||
System.out.println(objs[<caret>9] != null ? Integer.valueOf(objs[9].toString()) : null);
|
||||
}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
class B {
|
||||
|
||||
public static final int NINE = 9;
|
||||
|
||||
public static void foo(boolean f) {
|
||||
Object[] objs = new Object[0];
|
||||
System.out.println(objs[NINE] != null ? Integer.valueOf(objs[NINE].toString()) : null);
|
||||
}
|
||||
}
|
||||
@@ -65,6 +65,17 @@ public class InplaceIntroduceConstantTest extends AbstractJavaInplaceIntroduceTe
|
||||
});
|
||||
}
|
||||
|
||||
public void testReplaceAllFromLiteral() throws Exception {
|
||||
|
||||
doTest(new Pass<AbstractInplaceIntroducer>() {
|
||||
@Override
|
||||
public void pass(AbstractInplaceIntroducer inplaceIntroduceFieldPopup) {
|
||||
type("NINE");
|
||||
inplaceIntroduceFieldPopup.setReplaceAllOccurrences(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void testConflictingConstantName() throws Exception {
|
||||
|
||||
doTest(new Pass<AbstractInplaceIntroducer>() {
|
||||
|
||||
Reference in New Issue
Block a user