mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-15 11:53:49 +07:00
move as enum: strip enum qualifiers in case statements
This commit is contained in:
@@ -84,7 +84,7 @@ public class MoveJavaMemberHandler implements MoveMemberHandler {
|
||||
PsiReferenceExpression refExpr = (PsiReferenceExpression)usage.reference;
|
||||
PsiExpression qualifier = refExpr.getQualifierExpression();
|
||||
if (qualifier != null) {
|
||||
if (usage.qualifierClass != null) {
|
||||
if (usage.qualifierClass != null && PsiTreeUtil.getParentOfType(refExpr, PsiSwitchLabelStatement.class) == null) {
|
||||
changeQualifier(refExpr, usage.qualifierClass, usage.member);
|
||||
}
|
||||
else {
|
||||
@@ -92,7 +92,7 @@ public class MoveJavaMemberHandler implements MoveMemberHandler {
|
||||
}
|
||||
}
|
||||
else { // no qualifier
|
||||
if (usage.qualifierClass != null) {
|
||||
if (usage.qualifierClass != null && PsiTreeUtil.getParentOfType(refExpr, PsiSwitchLabelStatement.class) == null) {
|
||||
changeQualifier(refExpr, usage.qualifierClass, usage.member);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
public enum A {
|
||||
ONE(1);
|
||||
A(int i){}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
public class B {
|
||||
void foo(A i) {
|
||||
switch (i) {
|
||||
case ONE :
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class Usage {
|
||||
void foo(A i) {
|
||||
switch (i) {
|
||||
case ONE :
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
public enum A {
|
||||
;
|
||||
A(int i){}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
public class B {
|
||||
public static final int ONE = 1;
|
||||
void foo(A i) {
|
||||
switch (i) {
|
||||
case ONE :
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class Usage {
|
||||
void foo(A i) {
|
||||
switch (i) {
|
||||
case B.ONE :
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -84,6 +84,10 @@ public class MoveMembersTest extends MultiFileTestCase {
|
||||
doTest("B", "A", 0);
|
||||
}
|
||||
|
||||
public void testEnumConstantFromCaseStatement() throws Exception {
|
||||
doTest("B", "A", 0);
|
||||
}
|
||||
|
||||
public void testDependantFields() throws Exception {
|
||||
doTest("B", "A", 0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user