From 98ed261eb3be46d1a34722d8b412bd800a406fde Mon Sep 17 00:00:00 2001 From: "Natalia.Ukhorskaya" Date: Tue, 14 Aug 2012 12:25:06 +0400 Subject: [PATCH] Fix android build --- .../jet/codegen/ImplementationBodyCodegen.java | 2 +- compiler/testData/codegen/enum/inPackage.kt | 14 ++++++++++++++ .../org/jetbrains/jet/codegen/EnumGenTest.java | 4 ++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 compiler/testData/codegen/enum/inPackage.kt diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java index 7d26ed300d3..3a4218d912d 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java @@ -1031,7 +1031,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { iv.putstatic(implClass, enumConstant.getName(), "L" + implClass + ";"); iv.astore(TYPE_OBJECT); } - iv.putstatic(myAsmType.getClassName(), "$VALUES", arrayAsmType.getDescriptor()); + iv.putstatic(myAsmType.getInternalName(), "$VALUES", arrayAsmType.getDescriptor()); } public static void generateInitializers(@NotNull ExpressionCodegen codegen, @NotNull InstructionAdapter iv, @NotNull List declarations, diff --git a/compiler/testData/codegen/enum/inPackage.kt b/compiler/testData/codegen/enum/inPackage.kt new file mode 100644 index 00000000000..bc63408f227 --- /dev/null +++ b/compiler/testData/codegen/enum/inPackage.kt @@ -0,0 +1,14 @@ +package test + +enum class Season { + WINTER + SPRING + SUMMER + AUTUMN +} + +fun foo(): Season = Season.SPRING + +fun box() = + if (foo() == Season.SPRING) "OK" + else "fail" diff --git a/compiler/tests/org/jetbrains/jet/codegen/EnumGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/EnumGenTest.java index e56dc03025a..5f973068657 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/EnumGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/EnumGenTest.java @@ -73,6 +73,10 @@ public class EnumGenTest extends CodegenTestCase { blackBoxFile("enum/simple.kt"); } + public void testSimpleEnumInPackage() throws NoSuchFieldException, IllegalAccessException { + blackBoxFile("enum/inPackage.kt"); + } + public void testAsReturnExpression() { blackBoxFile("enum/asReturnExpression.kt"); }