diff --git a/src/org/jetbrains/jet/j2k/ast/Enum.java b/src/org/jetbrains/jet/j2k/ast/Enum.java index 82bfeca2be4..7ac18cf480a 100644 --- a/src/org/jetbrains/jet/j2k/ast/Enum.java +++ b/src/org/jetbrains/jet/j2k/ast/Enum.java @@ -28,10 +28,12 @@ public class Enum extends Class { @NotNull @Override public String toKotlin() { - return modifiersToKotlin() + "enum" + SPACE + myName.toKotlin() + primaryConstructorSignatureToKotlin() + + return modifiersToKotlin() + "enum class" + SPACE + myName.toKotlin() + primaryConstructorSignatureToKotlin() + typeParametersToKotlin() + implementTypesToKotlin() + SPACE + "{" + N + primaryConstructorBodyToKotlin() + N + AstUtil.joinNodes(membersExceptConstructors(), N) + N + + "public fun name() : String { return \"\" }" + N + // TODO : remove hack + "public fun order() : Int { return 0 }" + N + "}"; } } \ No newline at end of file diff --git a/testData/ast/enum/class/emptyEnum.kt b/testData/ast/enum/class/emptyEnum.kt index 1af4d906515..5be09b23308 100644 --- a/testData/ast/enum/class/emptyEnum.kt +++ b/testData/ast/enum/class/emptyEnum.kt @@ -1,2 +1,4 @@ -enum A { +enum class A { +public fun name() : String { return "" } +public fun order() : Int { return 0 } } \ No newline at end of file diff --git a/testData/ast/enum/class/enumImplementsOneInterface.kt b/testData/ast/enum/class/enumImplementsOneInterface.kt index 057767b736e..28b251cbf82 100644 --- a/testData/ast/enum/class/enumImplementsOneInterface.kt +++ b/testData/ast/enum/class/enumImplementsOneInterface.kt @@ -1,2 +1,4 @@ -enum A : I { +enum class A : I { +public fun name() : String { return "" } +public fun order() : Int { return 0 } } \ No newline at end of file diff --git a/testData/ast/enum/class/enumImplementsSeveralInterfaces.kt b/testData/ast/enum/class/enumImplementsSeveralInterfaces.kt index 82b4ca0a510..0ac77787c77 100644 --- a/testData/ast/enum/class/enumImplementsSeveralInterfaces.kt +++ b/testData/ast/enum/class/enumImplementsSeveralInterfaces.kt @@ -1,2 +1,4 @@ -enum A : I0, I1, I2 { +enum class A : I0, I1, I2 { +public fun name() : String { return "" } +public fun order() : Int { return 0 } } \ No newline at end of file diff --git a/testData/ast/enum/class/enumWithNameField.kt b/testData/ast/enum/class/enumWithNameField.kt index e8ad7b4cbe8..e92d13cb8ce 100644 --- a/testData/ast/enum/class/enumWithNameField.kt +++ b/testData/ast/enum/class/enumWithNameField.kt @@ -1,4 +1,6 @@ -enum E { +enum class E { I private var name : String? = null +public fun name() : String { return "" } +public fun order() : Int { return 0 } } \ No newline at end of file diff --git a/testData/ast/enum/class/internalEnum.kt b/testData/ast/enum/class/internalEnum.kt index 9a04f7dee8d..baaffdb5561 100644 --- a/testData/ast/enum/class/internalEnum.kt +++ b/testData/ast/enum/class/internalEnum.kt @@ -1,2 +1,4 @@ -enum Test { +enum class Test { +public fun name() : String { return "" } +public fun order() : Int { return 0 } } \ No newline at end of file diff --git a/testData/ast/enum/class/overrideToString.kt b/testData/ast/enum/class/overrideToString.kt index 783dd0b2444..7faa11f73ec 100644 --- a/testData/ast/enum/class/overrideToString.kt +++ b/testData/ast/enum/class/overrideToString.kt @@ -1,4 +1,4 @@ -enum Color { +enum class Color { WHITE BLACK RED @@ -7,4 +7,6 @@ BLUE override fun toString() : String? { return "COLOR" } +public fun name() : String { return "" } +public fun order() : Int { return 0 } } \ No newline at end of file diff --git a/testData/ast/enum/class/primaryPrivateConstructor.kt b/testData/ast/enum/class/primaryPrivateConstructor.kt index 814e3b48e83..6b631b4a643 100644 --- a/testData/ast/enum/class/primaryPrivateConstructor.kt +++ b/testData/ast/enum/class/primaryPrivateConstructor.kt @@ -1,4 +1,4 @@ -enum Color(c : Int) { +enum class Color(c : Int) { { $code = c } @@ -6,4 +6,6 @@ private var code : Int = 0 open public fun getCode() : Int { return code } +public fun name() : String { return "" } +public fun order() : Int { return 0 } } \ No newline at end of file diff --git a/testData/ast/enum/class/privateEnum.kt b/testData/ast/enum/class/privateEnum.kt index 6d712e6d618..646c07af7fa 100644 --- a/testData/ast/enum/class/privateEnum.kt +++ b/testData/ast/enum/class/privateEnum.kt @@ -1,2 +1,4 @@ -private enum Test { +private enum class Test { +public fun name() : String { return "" } +public fun order() : Int { return 0 } } \ No newline at end of file diff --git a/testData/ast/enum/class/protectedEnum.kt b/testData/ast/enum/class/protectedEnum.kt index cee5a49cba3..6f2b364651a 100644 --- a/testData/ast/enum/class/protectedEnum.kt +++ b/testData/ast/enum/class/protectedEnum.kt @@ -1,2 +1,4 @@ -protected enum Test { +protected enum class Test { +public fun name() : String { return "" } +public fun order() : Int { return 0 } } \ No newline at end of file diff --git a/testData/ast/enum/class/publicEnum.kt b/testData/ast/enum/class/publicEnum.kt index 1f30de10d07..5e7e2c3cdd8 100644 --- a/testData/ast/enum/class/publicEnum.kt +++ b/testData/ast/enum/class/publicEnum.kt @@ -1,2 +1,4 @@ -public enum Test { +public enum class Test { +public fun name() : String { return "" } +public fun order() : Int { return 0 } } \ No newline at end of file diff --git a/testData/ast/enum/class/runnableImplementation.jav b/testData/ast/enum/class/runnableImplementation.jav index b5f21ba6318..5db856671ca 100644 --- a/testData/ast/enum/class/runnableImplementation.jav +++ b/testData/ast/enum/class/runnableImplementation.jav @@ -1,8 +1,8 @@ enum Color implements Runnable { - WHITE, BLACK, RED, YELLOW, BLUE; + WHITE, BLACK, RED, YELLOW, BLUE; - public void run() { + public void run() { System.out.println("name()=" + name() + ", toString()=" + toString()); - } + } } \ No newline at end of file diff --git a/testData/ast/enum/class/runnableImplementation.kt b/testData/ast/enum/class/runnableImplementation.kt index b1cb4065b22..11263ecd635 100644 --- a/testData/ast/enum/class/runnableImplementation.kt +++ b/testData/ast/enum/class/runnableImplementation.kt @@ -1,4 +1,4 @@ -enum Color : Runnable { +enum class Color : Runnable { WHITE BLACK RED @@ -7,4 +7,6 @@ BLUE override public fun run() : Unit { System.out?.println(("name()=" + name() + ", toString()=" + toString())) } +public fun name() : String { return "" } +public fun order() : Int { return 0 } } \ No newline at end of file diff --git a/testData/ast/enum/class/typeSafeEnum.kt b/testData/ast/enum/class/typeSafeEnum.kt index 74de5694118..a8b4e8b2a83 100644 --- a/testData/ast/enum/class/typeSafeEnum.kt +++ b/testData/ast/enum/class/typeSafeEnum.kt @@ -1,6 +1,8 @@ -enum Coin { +enum class Coin { PENNY NICKEL DIME QUARTER +public fun name() : String { return "" } +public fun order() : Int { return 0 } } \ No newline at end of file