diff --git a/j2k/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.kt b/j2k/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.kt index d054c3beec0..22d42e06c31 100644 --- a/j2k/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.kt +++ b/j2k/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.kt @@ -316,6 +316,7 @@ open class ExpressionVisitor(private val converter: Converter) : JavaElementVisi } } + // add qualification for static members from base classes and also this works for enum constants in switch if (target is PsiMember && target.hasModifierProperty(PsiModifier.STATIC) && target.getContainingClass() != null diff --git a/j2k/tests/test/org/jetbrains/jet/j2k/test/JavaToKotlinConverterTestGenerated.java b/j2k/tests/test/org/jetbrains/jet/j2k/test/JavaToKotlinConverterTestGenerated.java index ad2dbcc089f..38abb0f17c6 100644 --- a/j2k/tests/test/org/jetbrains/jet/j2k/test/JavaToKotlinConverterTestGenerated.java +++ b/j2k/tests/test/org/jetbrains/jet/j2k/test/JavaToKotlinConverterTestGenerated.java @@ -2701,6 +2701,11 @@ public class JavaToKotlinConverterTestGenerated extends AbstractJavaToKotlinConv doTest("j2k/tests/testData/ast/switch/emptySwitch.java"); } + @TestMetadata("enumConstants.java") + public void testEnumConstants() throws Exception { + doTest("j2k/tests/testData/ast/switch/enumConstants.java"); + } + @TestMetadata("fallDown.java") public void testFallDown() throws Exception { doTest("j2k/tests/testData/ast/switch/fallDown.java"); diff --git a/j2k/tests/testData/ast/switch/enumConstants.java b/j2k/tests/testData/ast/switch/enumConstants.java new file mode 100644 index 00000000000..32d1019edbf --- /dev/null +++ b/j2k/tests/testData/ast/switch/enumConstants.java @@ -0,0 +1,12 @@ +enum ColorEnum { + GREEN +} + +class MyClass { + int method(ColorEnum colorEnum) { + switch (colorEnum) { + case GREEN: return 1; + default: return 2; + } + } +} \ No newline at end of file diff --git a/j2k/tests/testData/ast/switch/enumConstants.kt b/j2k/tests/testData/ast/switch/enumConstants.kt new file mode 100644 index 00000000000..d0595794212 --- /dev/null +++ b/j2k/tests/testData/ast/switch/enumConstants.kt @@ -0,0 +1,12 @@ +enum class ColorEnum { + GREEN +} + +class MyClass { + fun method(colorEnum: ColorEnum): Int { + when (colorEnum) { + ColorEnum.GREEN -> return 1 + else -> return 2 + } + } +} \ No newline at end of file