extract class: do not qualify enums in switches (IDEA-76587 )

This commit is contained in:
anna
2011-11-13 20:57:13 +01:00
parent d1807e4fcf
commit 2574a0649c
5 changed files with 41 additions and 1 deletions
@@ -422,7 +422,9 @@ class ExtractedClassBuilder {
}
else {
if (field.hasModifierProperty(PsiModifier.STATIC)) {
if (staticImported) {
if (field instanceof PsiEnumConstant) {
out.append(field.getName());
} else if (staticImported) {
final PsiImportStaticStatement importStaticStatement = (PsiImportStaticStatement)resolveResult.getCurrentFileResolveScope();
final PsiClass targetClass = importStaticStatement.resolveTargetClass();
out.append(targetClass != null ? targetClass.getQualifiedName() : "").append(".").append(field.getName());
@@ -0,0 +1,11 @@
public class Extracted {
static void foo(Test t) {
switch (p) {
case FRED:
break;
case GEORGE:
break;
}
}
}
@@ -0,0 +1,7 @@
public class Test {
}
enum Person {
FRED, GEORGE;
}
@@ -0,0 +1,16 @@
public class Test {
static void foo(Test t) {
switch (p) {
case FRED:
break;
case GEORGE:
break;
}
}
}
enum Person {
FRED, GEORGE;
}
@@ -97,6 +97,10 @@ public class ExtractClassTest extends MultiFileTestCase{
doTestMethod();
}
public void testEnumSwitch() throws Exception {
doTestMethod();
}
private void doTestFieldAndMethod() throws Exception {
doTestFieldAndMethod("bar");
}