From 98c9fcf68fadb53343e03bf79f0b7d423a49ee5b Mon Sep 17 00:00:00 2001 From: Sergey Ignatov Date: Mon, 7 Nov 2011 19:05:31 +0400 Subject: [PATCH] cleanup --- src/org/jetbrains/jet/j2k/Converter.java | 10 +++++----- src/org/jetbrains/jet/j2k/ast/Class.java | 4 ++-- src/org/jetbrains/jet/j2k/ast/Enum.java | 5 +++++ src/org/jetbrains/jet/j2k/ast/NewClassExpression.java | 2 +- src/org/jetbrains/jet/j2k/ast/Trait.java | 6 +----- .../jetbrains/jet/j2k/JavaToKotlinConverterTest.java | 8 ++++++-- testData/ast/class/class/abstractClass.kt | 2 +- testData/ast/class/class/abstractClassShape.kt | 2 +- testData/ast/trait/class/abstactInterface.jav | 1 + testData/ast/trait/class/abstactInterface.kt | 2 ++ testData/ast/trait/class/interfaceWithFields.kt | 6 +++--- .../ast/trait/class/interfaceWithMethodDeclaration.kt | 4 ++-- 12 files changed, 30 insertions(+), 22 deletions(-) create mode 100644 testData/ast/trait/class/abstactInterface.jav create mode 100644 testData/ast/trait/class/abstactInterface.kt diff --git a/src/org/jetbrains/jet/j2k/Converter.java b/src/org/jetbrains/jet/j2k/Converter.java index 9b69450431f..0c63e555730 100644 --- a/src/org/jetbrains/jet/j2k/Converter.java +++ b/src/org/jetbrains/jet/j2k/Converter.java @@ -296,13 +296,13 @@ public class Converter { public static Set modifiersListToModifiersSet(PsiModifierList modifierList) { HashSet modifiersSet = new HashSet(); if (modifierList != null) { - if (modifierList.hasModifierProperty(PsiModifier.ABSTRACT)) modifiersSet.add(Modifier.ABSTRACT); + if (modifierList.hasExplicitModifier(PsiModifier.ABSTRACT)) modifiersSet.add(Modifier.ABSTRACT); if (modifierList.hasModifierProperty(PsiModifier.FINAL)) modifiersSet.add(Modifier.FINAL); if (modifierList.hasModifierProperty(PsiModifier.STATIC)) modifiersSet.add(Modifier.STATIC); - if (modifierList.hasModifierProperty(PsiModifier.PUBLIC)) modifiersSet.add(Modifier.PUBLIC); - if (modifierList.hasModifierProperty(PsiModifier.PROTECTED)) modifiersSet.add(Modifier.PROTECTED); - if (modifierList.hasModifierProperty(PsiModifier.PACKAGE_LOCAL)) modifiersSet.add(Modifier.INTERNAL); - if (modifierList.hasModifierProperty(PsiModifier.PRIVATE)) modifiersSet.add(Modifier.PRIVATE); + if (modifierList.hasExplicitModifier(PsiModifier.PUBLIC)) modifiersSet.add(Modifier.PUBLIC); + if (modifierList.hasExplicitModifier(PsiModifier.PROTECTED)) modifiersSet.add(Modifier.PROTECTED); + if (modifierList.hasExplicitModifier(PsiModifier.PACKAGE_LOCAL)) modifiersSet.add(Modifier.INTERNAL); + if (modifierList.hasExplicitModifier(PsiModifier.PRIVATE)) modifiersSet.add(Modifier.PRIVATE); } return modifiersSet; } diff --git a/src/org/jetbrains/jet/j2k/ast/Class.java b/src/org/jetbrains/jet/j2k/ast/Class.java index 5d2fe19f18f..4d2ea0238ef 100644 --- a/src/org/jetbrains/jet/j2k/ast/Class.java +++ b/src/org/jetbrains/jet/j2k/ast/Class.java @@ -99,7 +99,7 @@ public class Class extends Member { } String bodyToKotlin() { - return "{" + N + classObjectToKotlin() + N + + return SPACE + "{" + N + classObjectToKotlin() + N + AstUtil.joinNodes(getNonStatic(myFields), N) + N + AstUtil.joinNodes(getNonStatic(methodsExceptConstructors()), N) + N + AstUtil.joinNodes(getNonStatic(myInnerClasses), N) + N + @@ -142,6 +142,6 @@ public class Class extends Member { return modifiersToKotlin() + TYPE + SPACE + myName.toKotlin() + typeParametersToKotlin() + implementTypesToKotlin() + typeParameterWhereToKotlin() + - SPACE + bodyToKotlin(); + bodyToKotlin(); } } diff --git a/src/org/jetbrains/jet/j2k/ast/Enum.java b/src/org/jetbrains/jet/j2k/ast/Enum.java index f16a7393718..4f69eb11f23 100644 --- a/src/org/jetbrains/jet/j2k/ast/Enum.java +++ b/src/org/jetbrains/jet/j2k/ast/Enum.java @@ -30,6 +30,11 @@ public class Enum extends Class { return EMPTY; } + @Override + boolean needOpenModifier() { + return false; + } + @NotNull @Override public String toKotlin() { diff --git a/src/org/jetbrains/jet/j2k/ast/NewClassExpression.java b/src/org/jetbrains/jet/j2k/ast/NewClassExpression.java index 9e946a02118..8d4bd4549b6 100644 --- a/src/org/jetbrains/jet/j2k/ast/NewClassExpression.java +++ b/src/org/jetbrains/jet/j2k/ast/NewClassExpression.java @@ -25,7 +25,7 @@ public class NewClassExpression extends Expression { @Override public String toKotlin() { return myAnonymousClass != null ? - myName.toKotlin() + "(" + myArguments.toKotlin() + ")" + SPACE + myAnonymousClass.toKotlin() : + myName.toKotlin() + "(" + myArguments.toKotlin() + ")" + myAnonymousClass.toKotlin() : myName.toKotlin() + "(" + myArguments.toKotlin() + ")"; } } \ No newline at end of file diff --git a/src/org/jetbrains/jet/j2k/ast/Trait.java b/src/org/jetbrains/jet/j2k/ast/Trait.java index d450bef933d..14fea577b6e 100644 --- a/src/org/jetbrains/jet/j2k/ast/Trait.java +++ b/src/org/jetbrains/jet/j2k/ast/Trait.java @@ -17,8 +17,4 @@ public class Trait extends Class { boolean needOpenModifier() { return false; } - - boolean needAbstractModifier() { - return false; - } -} +} \ No newline at end of file diff --git a/test/org/jetbrains/jet/j2k/JavaToKotlinConverterTest.java b/test/org/jetbrains/jet/j2k/JavaToKotlinConverterTest.java index 67b8a051b86..52cdde52219 100644 --- a/test/org/jetbrains/jet/j2k/JavaToKotlinConverterTest.java +++ b/test/org/jetbrains/jet/j2k/JavaToKotlinConverterTest.java @@ -48,8 +48,11 @@ public class JavaToKotlinConverterTest extends LightDaemonAnalyzerTestCase { else if (javaFile.getParent().endsWith("/file")) actual = fileToKotlin(javaCode); assert !actual.equals(""); + final File tmp = new File(kotlinPath + ".tmp"); if (!expected.equals(actual)) - writeStringToFile(new File(kotlinPath + ".tmp"), actual); + writeStringToFile(tmp, actual); + if (expected.equals(actual) && tmp.exists()) + tmp.delete(); Assert.assertEquals(expected, actual); } @@ -138,8 +141,9 @@ public class JavaToKotlinConverterTest extends LightDaemonAnalyzerTestCase { return code .trim() .replaceAll("\r\n", "\n") - .replaceAll("\n+", "\n") + .replaceAll(" \n", "\n") .replaceAll("\n ", "\n") + .replaceAll("\n+", "\n") .replaceAll(" +", " ") .trim() ; diff --git a/testData/ast/class/class/abstractClass.kt b/testData/ast/class/class/abstractClass.kt index 38c5d667a48..a8010e20dc2 100644 --- a/testData/ast/class/class/abstractClass.kt +++ b/testData/ast/class/class/abstractClass.kt @@ -1,5 +1,5 @@ abstract open class A { -abstract fun callme() : Unit +abstract fun callme() : Unit fun callmetoo() : Unit { print("This is a concrete method.") } diff --git a/testData/ast/class/class/abstractClassShape.kt b/testData/ast/class/class/abstractClassShape.kt index 9237e4ca894..f564ee18325 100644 --- a/testData/ast/class/class/abstractClassShape.kt +++ b/testData/ast/class/class/abstractClassShape.kt @@ -6,5 +6,5 @@ color = c public fun getColor() : String? { return color } -abstract public fun area() : Double +abstract public fun area() : Double } \ No newline at end of file diff --git a/testData/ast/trait/class/abstactInterface.jav b/testData/ast/trait/class/abstactInterface.jav new file mode 100644 index 00000000000..17b89868943 --- /dev/null +++ b/testData/ast/trait/class/abstactInterface.jav @@ -0,0 +1 @@ +abstract interface I {} \ No newline at end of file diff --git a/testData/ast/trait/class/abstactInterface.kt b/testData/ast/trait/class/abstactInterface.kt new file mode 100644 index 00000000000..97c0b5c0bed --- /dev/null +++ b/testData/ast/trait/class/abstactInterface.kt @@ -0,0 +1,2 @@ +abstract trait I { +} \ No newline at end of file diff --git a/testData/ast/trait/class/interfaceWithFields.kt b/testData/ast/trait/class/interfaceWithFields.kt index fc2ab5e9a4f..8e2b43d7e84 100644 --- a/testData/ast/trait/class/interfaceWithFields.kt +++ b/testData/ast/trait/class/interfaceWithFields.kt @@ -1,7 +1,7 @@ trait INode { class object { -public val IN : String? = "in" -public val AT : String? = "@" -public val COMMA_WITH_SPACE : String? = (COMMA + SPACE) +val IN : String? = "in" +val AT : String? = "@" +val COMMA_WITH_SPACE : String? = (COMMA + SPACE) } } \ No newline at end of file diff --git a/testData/ast/trait/class/interfaceWithMethodDeclaration.kt b/testData/ast/trait/class/interfaceWithMethodDeclaration.kt index bf3ade94a28..6ce36f8d783 100644 --- a/testData/ast/trait/class/interfaceWithMethodDeclaration.kt +++ b/testData/ast/trait/class/interfaceWithMethodDeclaration.kt @@ -1,4 +1,4 @@ trait INode { -public fun getTag() : Tag? -public fun toKotlin() : String? +fun getTag() : Tag? +fun toKotlin() : String? } \ No newline at end of file