Don't create NamespaceType for enum entries

Enum entry expressions have the type of their enum, so it shouldn't be possible
to access static nested classes of enum entries from outside.

This fixes BlackBoxCodegenTestGenerated$CallableReference.testEnumNameMethod
This commit is contained in:
Alexander Udalov
2013-11-21 16:13:10 +04:00
parent e48c91bba4
commit 2e4807856f
3 changed files with 41 additions and 16 deletions
@@ -2532,6 +2532,11 @@ public class JetDiagnosticsTestGenerated extends AbstractDiagnosticsTestWithEage
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/diagnostics/tests/enum"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("dontCreateNamespaceTypeForEnumEntry.kt")
public void testDontCreateNamespaceTypeForEnumEntry() throws Exception {
doTest("compiler/testData/diagnostics/tests/enum/dontCreateNamespaceTypeForEnumEntry.kt");
}
@TestMetadata("entryShouldBeOfEnumType.kt")
public void testEntryShouldBeOfEnumType() throws Exception {
doTest("compiler/testData/diagnostics/tests/enum/entryShouldBeOfEnumType.kt");