This commit is contained in:
Sergey Ignatov
2011-11-07 19:05:31 +04:00
parent d36c2a46d3
commit 98c9fcf68f
12 changed files with 30 additions and 22 deletions
+5 -5
View File
@@ -296,13 +296,13 @@ public class Converter {
public static Set<String> modifiersListToModifiersSet(PsiModifierList modifierList) {
HashSet<String> modifiersSet = new HashSet<String>();
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;
}
+2 -2
View File
@@ -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();
}
}
+5
View File
@@ -30,6 +30,11 @@ public class Enum extends Class {
return EMPTY;
}
@Override
boolean needOpenModifier() {
return false;
}
@NotNull
@Override
public String toKotlin() {
@@ -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() + ")";
}
}
+1 -5
View File
@@ -17,8 +17,4 @@ public class Trait extends Class {
boolean needOpenModifier() {
return false;
}
boolean needAbstractModifier() {
return false;
}
}
}
@@ -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()
;
+1 -1
View File
@@ -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.")
}
@@ -6,5 +6,5 @@ color = c
public fun getColor() : String? {
return color
}
abstract public fun area() : Double
abstract public fun area() : Double
}
@@ -0,0 +1 @@
abstract interface I {}
@@ -0,0 +1,2 @@
abstract trait I {
}
@@ -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)
}
}
@@ -1,4 +1,4 @@
trait INode {
public fun getTag() : Tag?
public fun toKotlin() : String?
fun getTag() : Tag?
fun toKotlin() : String?
}