From 548d89ef4e482a6f165660e05895eb15434a0e52 Mon Sep 17 00:00:00 2001 From: Sergey Ignatov Date: Mon, 14 Nov 2011 14:29:58 +0400 Subject: [PATCH] another one case with constructors supported --- src/org/jetbrains/jet/j2k/Converter.java | 110 +++++++++++++++++- .../jet/j2k/ast/AssignmentExpression.java | 14 +++ .../jet/j2k/ast/CallChainExpression.java | 10 ++ src/org/jetbrains/jet/j2k/ast/Class.java | 4 +- .../jet/j2k/ast/DummyStringStatement.java | 20 ++++ src/org/jetbrains/jet/j2k/ast/Field.java | 16 +++ src/org/jetbrains/jet/j2k/ast/Function.java | 8 +- src/org/jetbrains/jet/j2k/ast/INode.java | 2 +- src/org/jetbrains/jet/j2k/ast/Parameter.java | 4 +- .../file/libraryFieldCall.kt | 5 +- .../file/libraryStringFieldCall.kt | 5 +- .../ast/class/class/abstractClassShape.kt | 4 +- .../class/class/classWithMultiplyFields.kt | 6 +- .../ast/constructors/file/allCallsPrimary.kt | 4 +- .../ast/constructors/file/allCallsPrimary2.kt | 10 +- .../ast/constructors/file/customerBuilder.kt | 12 +- testData/ast/constructors/file/identifier.jav | 33 ++++++ testData/ast/constructors/file/identifier.kt | 37 ++++++ ... fieldsWithPrimaryPrivateConstructor.java} | 0 .../fieldsWithPrimaryPrivateConstructor.kt | 14 +-- testData/ast/field/file/internalField.jav | 3 + testData/ast/field/file/privateField.jav | 3 + testData/ast/field/file/protectedField.jav | 3 + testData/ast/field/file/publicField.jav | 3 + testData/ast/field/file/valWithInit.jav | 3 + testData/ast/field/file/varWithInit.jav | 3 + testData/ast/field/file/varWithoutInit.jav | 3 + testData/ast/field/method/internalField.jav | 1 - testData/ast/field/method/internalField.kt | 1 - testData/ast/field/method/privateField.jav | 1 - testData/ast/field/method/privateField.kt | 1 - testData/ast/field/method/protectedField.jav | 1 - testData/ast/field/method/protectedField.kt | 1 - testData/ast/field/method/publicField.jav | 1 - testData/ast/field/method/publicField.kt | 1 - testData/ast/field/method/valWithInit.jav | 1 - testData/ast/field/method/valWithInit.kt | 1 - testData/ast/field/method/varWithInit.jav | 1 - testData/ast/field/method/varWithInit.kt | 1 - testData/ast/field/method/varWithoutInit.jav | 1 - testData/ast/field/method/varWithoutInit.kt | 1 - .../identifier/file/finalFieldReference.kt | 6 +- .../superExpression/class/classAextendsB.kt | 6 +- .../ast/trait/class/interfaceWithFields.kt | 5 + .../trait/class/interfaceWithStaticFields.kt | 5 + 45 files changed, 319 insertions(+), 56 deletions(-) create mode 100644 src/org/jetbrains/jet/j2k/ast/DummyStringStatement.java create mode 100644 testData/ast/constructors/file/identifier.jav create mode 100644 testData/ast/constructors/file/identifier.kt rename testData/ast/enum/class/{fieldsWithPrimaryPrivateConstructor.jav => fieldsWithPrimaryPrivateConstructor.java} (100%) create mode 100644 testData/ast/field/file/internalField.jav create mode 100644 testData/ast/field/file/privateField.jav create mode 100644 testData/ast/field/file/protectedField.jav create mode 100644 testData/ast/field/file/publicField.jav create mode 100644 testData/ast/field/file/valWithInit.jav create mode 100644 testData/ast/field/file/varWithInit.jav create mode 100644 testData/ast/field/file/varWithoutInit.jav delete mode 100644 testData/ast/field/method/internalField.jav delete mode 100644 testData/ast/field/method/internalField.kt delete mode 100644 testData/ast/field/method/privateField.jav delete mode 100644 testData/ast/field/method/privateField.kt delete mode 100644 testData/ast/field/method/protectedField.jav delete mode 100644 testData/ast/field/method/protectedField.kt delete mode 100644 testData/ast/field/method/publicField.jav delete mode 100644 testData/ast/field/method/publicField.kt delete mode 100644 testData/ast/field/method/valWithInit.jav delete mode 100644 testData/ast/field/method/valWithInit.kt delete mode 100644 testData/ast/field/method/varWithInit.jav delete mode 100644 testData/ast/field/method/varWithInit.kt delete mode 100644 testData/ast/field/method/varWithoutInit.jav delete mode 100644 testData/ast/field/method/varWithoutInit.kt diff --git a/src/org/jetbrains/jet/j2k/Converter.java b/src/org/jetbrains/jet/j2k/Converter.java index 7a77ff4be77..3934c8864ea 100644 --- a/src/org/jetbrains/jet/j2k/Converter.java +++ b/src/org/jetbrains/jet/j2k/Converter.java @@ -7,12 +7,10 @@ import org.jetbrains.jet.j2k.ast.*; import org.jetbrains.jet.j2k.ast.Class; import org.jetbrains.jet.j2k.ast.Enum; import org.jetbrains.jet.j2k.ast.Modifier; +import org.jetbrains.jet.j2k.util.AstUtil; import org.jetbrains.jet.j2k.visitors.*; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; +import java.util.*; /** * @author ignatov @@ -45,6 +43,39 @@ public class Converter { ); } + private static List getFinalOrWithEmptyInitializer(List fields) { + List result = new LinkedList(); + for (Field f : fields) + if (f.isFinal() || f.getInitializer().toKotlin().isEmpty()) + result.add(f); + return result; + } + + private static List createParametersFromFields(List fields) { + List result = new LinkedList(); + for (Field f : fields) + result.add(new Parameter(f.getIdentifier(), f.getType())); + return result; + } + + private static List createInitStatementsFromFields(List fields) { + List result = new LinkedList(); + for (Field f : fields) { + final String identifierToKotlin = f.getIdentifier().toKotlin(); + result.add(new DummyStringStatement("this." + identifierToKotlin + " = " + identifierToKotlin)); + } + return result; + } + + private static String createPrimaryConstructorInvocation(String s, List fields, Map initializers) { + List result = new LinkedList(); + for (Field f : fields) { + final String id = f.getIdentifier().toKotlin(); + result.add(initializers.get(id)); + } + return s + "(" + AstUtil.join(result, ", ") + ")"; + } + public static Class classToClass(PsiClass psiClass) { final Set modifiers = modifiersListToModifiersSet(psiClass.getModifierList()); final List innerClasses = classesToClassList(psiClass.getAllInnerClasses()); @@ -53,8 +84,68 @@ public class Converter { final List typeParameters = elementsToElementList(psiClass.getTypeParameters()); final List implementsTypes = typesToNotNullableTypeList(psiClass.getImplementsListTypes()); final List extendsTypes = typesToNotNullableTypeList(psiClass.getExtendsListTypes()); - final IdentifierImpl name = new IdentifierImpl(psiClass.getName()); + + // we create primary constructor + if (!psiClass.isEnum() && getPrimaryConstructor(psiClass) == null) { + final List finalOrWithEmptyInitializer = getFinalOrWithEmptyInitializer(fields); + final Map initializers = new HashMap(); + + for (Field f : finalOrWithEmptyInitializer) { + String init = getDefaultInitializer(f); + initializers.put(f.getIdentifier().toKotlin(), init); + } + + for (final Function f : methods) { + // and modify secondaries + if (f.getKind() == INode.Kind.CONSTRUCTOR && !((Constructor) f).isPrimary()) { + final List newStatements = new LinkedList(); + + for (Statement s : f.getBlock().getStatements()) { + boolean isRemoved = false; + + if (s.getKind() == INode.Kind.ASSINGNMENT_EXPRESSION) { + final AssignmentExpression assignmentExpression = (AssignmentExpression) s; + if (assignmentExpression.getLeft().getKind() == INode.Kind.CALL_CHAIN) { + for (Field fo : finalOrWithEmptyInitializer) { + final String id = fo.getIdentifier().toKotlin(); + if (((CallChainExpression) assignmentExpression.getLeft()).getIdentifier().toKotlin().endsWith(id)) { + initializers.put(id, assignmentExpression.getRight().toKotlin()); + isRemoved = true; + } + } + } + } + if (!isRemoved) { + newStatements.add(s); + } + } + + newStatements.add( + 0, + new DummyStringStatement( + "val __ = " + createPrimaryConstructorInvocation( + name.toKotlin(), + finalOrWithEmptyInitializer, + initializers))); + + f.setBlock(new Block(newStatements)); + } + } + + methods.add( + new Constructor( + Identifier.EMPTY_IDENTIFIER, + new HashSet(), + new ClassType(name, false), + new LinkedList(), + new ParameterList(createParametersFromFields(finalOrWithEmptyInitializer)), + new Block(createInitStatementsFromFields(finalOrWithEmptyInitializer)), + true + ) + ); + } + if (psiClass.isInterface()) return new Trait(name, modifiers, typeParameters, extendsTypes, implementsTypes, innerClasses, methods, fields); if (psiClass.isEnum()) @@ -63,6 +154,15 @@ public class Converter { return new Class(name, modifiers, typeParameters, extendsTypes, implementsTypes, innerClasses, methods, fields); } + private static String getDefaultInitializer(Field f) { + if (f.getType().isNullable()) return "null"; + + final String typeToKotlin = f.getType().toKotlin(); + if (typeToKotlin.equals("Boolean")) return "false"; + if (typeToKotlin.equals("Int")) return "0"; + return "TYPE: " + typeToKotlin + " HAVEN'T DEFAULT VALUE"; + } + // TODO: hack for enums private static List fieldsToFieldListForEnums(PsiField[] fields) { List result = new LinkedList(); diff --git a/src/org/jetbrains/jet/j2k/ast/AssignmentExpression.java b/src/org/jetbrains/jet/j2k/ast/AssignmentExpression.java index 7d0b10938a1..98529c5637e 100644 --- a/src/org/jetbrains/jet/j2k/ast/AssignmentExpression.java +++ b/src/org/jetbrains/jet/j2k/ast/AssignmentExpression.java @@ -10,6 +10,14 @@ public class AssignmentExpression extends Expression { private final Expression myRight; private final String myOp; + public Expression getLeft() { + return myLeft; + } + + public Expression getRight() { + return myRight; + } + public AssignmentExpression(Expression left, Expression right, String op) { myLeft = left; myRight = right; @@ -21,4 +29,10 @@ public class AssignmentExpression extends Expression { public String toKotlin() { return myLeft.toKotlin() + SPACE + myOp + SPACE + myRight.toKotlin(); } + + @NotNull + @Override + public Kind getKind() { + return Kind.ASSINGNMENT_EXPRESSION; + } } diff --git a/src/org/jetbrains/jet/j2k/ast/CallChainExpression.java b/src/org/jetbrains/jet/j2k/ast/CallChainExpression.java index 17ab3f222c1..32a352e3349 100644 --- a/src/org/jetbrains/jet/j2k/ast/CallChainExpression.java +++ b/src/org/jetbrains/jet/j2k/ast/CallChainExpression.java @@ -9,6 +9,16 @@ public class CallChainExpression extends Expression { private Expression myExpression; private Expression myIdentifier; + public Expression getIdentifier() { + return myIdentifier; + } + + @NotNull + @Override + public Kind getKind() { + return Kind.CALL_CHAIN; + } + public CallChainExpression(Expression expression, Expression identifier) { myExpression = expression; myIdentifier = identifier; diff --git a/src/org/jetbrains/jet/j2k/ast/Class.java b/src/org/jetbrains/jet/j2k/ast/Class.java index 79bd76c6453..6ee09365a96 100644 --- a/src/org/jetbrains/jet/j2k/ast/Class.java +++ b/src/org/jetbrains/jet/j2k/ast/Class.java @@ -52,7 +52,7 @@ public class Class extends Member { String primaryConstructorBodyToKotlin() { Constructor maybeConstructor = getPrimaryConstructor(); - if (maybeConstructor != null) + if (maybeConstructor != null && !maybeConstructor.getBlock().isEmpty()) return maybeConstructor.primaryBodyToKotlin(); return EMPTY; } @@ -150,10 +150,10 @@ public class Class extends Member { String bodyToKotlin() { return SPACE + "{" + N + AstUtil.joinNodes(getNonStatic(myFields), N) + N + - primaryConstructorBodyToKotlin() + N + classObjectToKotlin() + N + AstUtil.joinNodes(getNonStatic(methodsExceptConstructors()), N) + N + AstUtil.joinNodes(getNonStatic(myInnerClasses), N) + N + + primaryConstructorBodyToKotlin() + N + "}"; } diff --git a/src/org/jetbrains/jet/j2k/ast/DummyStringStatement.java b/src/org/jetbrains/jet/j2k/ast/DummyStringStatement.java new file mode 100644 index 00000000000..161618aab16 --- /dev/null +++ b/src/org/jetbrains/jet/j2k/ast/DummyStringStatement.java @@ -0,0 +1,20 @@ +package org.jetbrains.jet.j2k.ast; + +import org.jetbrains.annotations.NotNull; + +/** + * @author ignatov + */ +public class DummyStringStatement extends Statement { + private String myString; + + public DummyStringStatement(String string) { + myString = string; + } + + @NotNull + @Override + public String toKotlin() { + return myString; + } +} diff --git a/src/org/jetbrains/jet/j2k/ast/Field.java b/src/org/jetbrains/jet/j2k/ast/Field.java index 60839930067..02542a35ef9 100644 --- a/src/org/jetbrains/jet/j2k/ast/Field.java +++ b/src/org/jetbrains/jet/j2k/ast/Field.java @@ -22,6 +22,18 @@ public class Field extends Member { myInitializer = initializer; } + public Element getInitializer() { + return myInitializer; + } + + public Identifier getIdentifier() { + return myIdentifier; + } + + public Type getType() { + return myType; + } + String modifiersToKotlin() { List modifierList = new LinkedList(); @@ -43,6 +55,10 @@ public class Field extends Member { return myModifiers.contains(Modifier.STATIC); } + public boolean isFinal() { + return myModifiers.contains(Modifier.FINAL); + } + @NotNull @Override public String toKotlin() { diff --git a/src/org/jetbrains/jet/j2k/ast/Function.java b/src/org/jetbrains/jet/j2k/ast/Function.java index 2fd522232d2..8bf2649aaa6 100644 --- a/src/org/jetbrains/jet/j2k/ast/Function.java +++ b/src/org/jetbrains/jet/j2k/ast/Function.java @@ -15,7 +15,13 @@ public class Function extends Member { private final Type myType; private final List myTypeParameters; final Element myParams; - final Block myBlock; + + // TODO: maybe remove it? + public void setBlock(Block block) { + myBlock = block; + } + + Block myBlock; public Function(Identifier name, Set modifiers, Type type, List typeParameters, Element params, Block block) { myName = name; diff --git a/src/org/jetbrains/jet/j2k/ast/INode.java b/src/org/jetbrains/jet/j2k/ast/INode.java index 4cc77364390..fb837412eb7 100644 --- a/src/org/jetbrains/jet/j2k/ast/INode.java +++ b/src/org/jetbrains/jet/j2k/ast/INode.java @@ -13,6 +13,6 @@ public interface INode { public Kind getKind(); public enum Kind { - UNDEFINED, TYPE, CONSTRUCTOR, BREAK, CONTINUE, VARARG, TRAIT, + UNDEFINED, TYPE, CONSTRUCTOR, BREAK, CONTINUE, VARARG, TRAIT, ASSINGNMENT_EXPRESSION, CALL_CHAIN, } } diff --git a/src/org/jetbrains/jet/j2k/ast/Parameter.java b/src/org/jetbrains/jet/j2k/ast/Parameter.java index 7dfa86eaed1..a4b8897df97 100644 --- a/src/org/jetbrains/jet/j2k/ast/Parameter.java +++ b/src/org/jetbrains/jet/j2k/ast/Parameter.java @@ -6,10 +6,10 @@ import org.jetbrains.annotations.NotNull; * @author ignatov */ public class Parameter extends Expression { - private final IdentifierImpl myIdentifier; + private final Identifier myIdentifier; private final Type myType; - public Parameter(IdentifierImpl identifier, Type type) { + public Parameter(Identifier identifier, Type type) { myIdentifier = identifier; myType = type; } diff --git a/testData/ast/callChainExpression/file/libraryFieldCall.kt b/testData/ast/callChainExpression/file/libraryFieldCall.kt index 868d83f109a..a276cdee6ba 100644 --- a/testData/ast/callChainExpression/file/libraryFieldCall.kt +++ b/testData/ast/callChainExpression/file/libraryFieldCall.kt @@ -1,7 +1,10 @@ -open class Library() { +open class Library(ourOut : PrintStream?) { class object { val ourOut : PrintStream? } +{ +this.ourOut = ourOut +} } open class User() { open fun main() : Unit { diff --git a/testData/ast/callChainExpression/file/libraryStringFieldCall.kt b/testData/ast/callChainExpression/file/libraryStringFieldCall.kt index bced464f750..49e83aea5a9 100644 --- a/testData/ast/callChainExpression/file/libraryStringFieldCall.kt +++ b/testData/ast/callChainExpression/file/libraryStringFieldCall.kt @@ -1,5 +1,8 @@ -open class Library() { +open class Library(myString : String?) { public val myString : String? +{ +this.myString = myString +} } open class User() { open fun main() : Unit { diff --git a/testData/ast/class/class/abstractClassShape.kt b/testData/ast/class/class/abstractClassShape.kt index a4a33c15910..d6500a6c9a5 100644 --- a/testData/ast/class/class/abstractClassShape.kt +++ b/testData/ast/class/class/abstractClassShape.kt @@ -1,7 +1,5 @@ abstract open class Shape() { public var color : String? -{ -} open public fun setColor(c : String?) : Unit { color = c } @@ -9,4 +7,6 @@ open public fun getColor() : String? { return color } abstract open public fun area() : Double +{ +} } \ No newline at end of file diff --git a/testData/ast/class/class/classWithMultiplyFields.kt b/testData/ast/class/class/classWithMultiplyFields.kt index 03b2647a157..6d2dbd78c0b 100644 --- a/testData/ast/class/class/classWithMultiplyFields.kt +++ b/testData/ast/class/class/classWithMultiplyFields.kt @@ -1,5 +1,9 @@ -class T() { +class T(a : String?, b : String?) { var a : String? var b : String? var c : String? = "abc" +{ +this.a = a +this.b = b +} } \ No newline at end of file diff --git a/testData/ast/constructors/file/allCallsPrimary.kt b/testData/ast/constructors/file/allCallsPrimary.kt index c0365493e51..e564d45ba6e 100644 --- a/testData/ast/constructors/file/allCallsPrimary.kt +++ b/testData/ast/constructors/file/allCallsPrimary.kt @@ -1,6 +1,4 @@ open class C(arg1 : Int, arg2 : Int, arg3 : Int) { -{ -} class object { open fun init(arg1 : Int, arg2 : Int) : C { val __ = C(arg1, arg2, 0) @@ -11,6 +9,8 @@ val __ = C(arg1, 0, 0) return __ } } +{ +} } public open class User() { class object { diff --git a/testData/ast/constructors/file/allCallsPrimary2.kt b/testData/ast/constructors/file/allCallsPrimary2.kt index 787f2f90451..01df1ce685e 100644 --- a/testData/ast/constructors/file/allCallsPrimary2.kt +++ b/testData/ast/constructors/file/allCallsPrimary2.kt @@ -2,11 +2,6 @@ open class C(arg1 : Int) { val myArg1 : Int var myArg2 : Int var myArg3 : Int -{ -$myArg1 = arg1 -$myArg2 = 0 -$myArg3 = 0 -} class object { open fun init(arg1 : Int, arg2 : Int, arg3 : Int) : C { val __ = C(arg1) @@ -21,6 +16,11 @@ __.myArg3 = 0 return __ } } +{ +$myArg1 = arg1 +$myArg2 = 0 +$myArg3 = 0 +} } public open class User() { class object { diff --git a/testData/ast/constructors/file/customerBuilder.kt b/testData/ast/constructors/file/customerBuilder.kt index 8d59f2c5543..7092cd9f155 100644 --- a/testData/ast/constructors/file/customerBuilder.kt +++ b/testData/ast/constructors/file/customerBuilder.kt @@ -2,12 +2,6 @@ namespace org.test.customer { open class Customer(first : String?, last : String?) { public val _firstName : String? public val _lastName : String? -{ -doSmthBefore() -$_firstName = first -$_lastName = last -doSmthAfter() -} open public fun getFirstName() : String? { return _firstName } @@ -18,6 +12,12 @@ open private fun doSmthBefore() : Unit { } open private fun doSmthAfter() : Unit { } +{ +doSmthBefore() +$_firstName = first +$_lastName = last +doSmthAfter() +} } open class CustomerBuilder() { public var _firstName : String? = "Homer" diff --git a/testData/ast/constructors/file/identifier.jav b/testData/ast/constructors/file/identifier.jav new file mode 100644 index 00000000000..929628643c8 --- /dev/null +++ b/testData/ast/constructors/file/identifier.jav @@ -0,0 +1,33 @@ +public class Identifier { + private final String myName; + private boolean myHasDollar; + private boolean myNullable = true; + + public Identifier(String name) { + myName = name; + } + + public Identifier(String name, boolean isNullable) { + myName = name; + myNullable = isNullable; + } + + public Identifier(String name, boolean hasDollar, boolean isNullable) { + myName = name; + myHasDollar = hasDollar; + myNullable = isNullable; + } + + @Override + public String getName() { + return myName; + } +} + +public class User { + public static void main() { + Identifier i1 = new Identifier("name", false, true); + Identifier i2 = new Identifier("name", false); + Identifier i3 = new Identifier("name"); + } +} \ No newline at end of file diff --git a/testData/ast/constructors/file/identifier.kt b/testData/ast/constructors/file/identifier.kt new file mode 100644 index 00000000000..692852c2fdd --- /dev/null +++ b/testData/ast/constructors/file/identifier.kt @@ -0,0 +1,37 @@ +public open class Identifier(myName : String?, myHasDollar : Boolean) { +private val myName : String? +private var myHasDollar : Boolean +private var myNullable : Boolean = true +class object { +open public fun init(name : String?) : Identifier { +val __ = Identifier(name, false) +return __ +} +open public fun init(name : String?, isNullable : Boolean) : Identifier { +val __ = Identifier(name, false) +__.myNullable = isNullable +return __ +} +open public fun init(name : String?, hasDollar : Boolean, isNullable : Boolean) : Identifier { +val __ = Identifier(name, hasDollar) +__.myNullable = isNullable +return __ +} +} +open public fun getName() : String? { +return myName +} +{ +this.myName = myName +this.myHasDollar = myHasDollar +} +} +public open class User() { +class object { +open public fun main() : Unit { +var i1 : Identifier? = Identifier.init("name", false, true) +var i2 : Identifier? = Identifier.init("name", false) +var i3 : Identifier? = Identifier.init("name") +} +} +} \ No newline at end of file diff --git a/testData/ast/enum/class/fieldsWithPrimaryPrivateConstructor.jav b/testData/ast/enum/class/fieldsWithPrimaryPrivateConstructor.java similarity index 100% rename from testData/ast/enum/class/fieldsWithPrimaryPrivateConstructor.jav rename to testData/ast/enum/class/fieldsWithPrimaryPrivateConstructor.java diff --git a/testData/ast/enum/class/fieldsWithPrimaryPrivateConstructor.kt b/testData/ast/enum/class/fieldsWithPrimaryPrivateConstructor.kt index 6a04cba471b..cc200c15751 100644 --- a/testData/ast/enum/class/fieldsWithPrimaryPrivateConstructor.kt +++ b/testData/ast/enum/class/fieldsWithPrimaryPrivateConstructor.kt @@ -1,11 +1,11 @@ -enum Color { -WHITE(21) -BLACK(22) -RED(23) -YELLOW(24) -BLUE(25) +enum Color(c: Int) { +WHITE : Color(21) +BLACK : Color(22) +RED : Color(23) +YELLOW : Color(24) +BLUE : Color(25) private var code : Int -open private (c : Int) { +{ $code = c } open public fun getCode() : Int { diff --git a/testData/ast/field/file/internalField.jav b/testData/ast/field/file/internalField.jav new file mode 100644 index 00000000000..3c3f6a6f633 --- /dev/null +++ b/testData/ast/field/file/internalField.jav @@ -0,0 +1,3 @@ +class C { +Foo f; +} \ No newline at end of file diff --git a/testData/ast/field/file/privateField.jav b/testData/ast/field/file/privateField.jav new file mode 100644 index 00000000000..958031a23b4 --- /dev/null +++ b/testData/ast/field/file/privateField.jav @@ -0,0 +1,3 @@ +class C { +private Foo f; +} diff --git a/testData/ast/field/file/protectedField.jav b/testData/ast/field/file/protectedField.jav new file mode 100644 index 00000000000..100199e107f --- /dev/null +++ b/testData/ast/field/file/protectedField.jav @@ -0,0 +1,3 @@ +class C { +protected Foo f; +} \ No newline at end of file diff --git a/testData/ast/field/file/publicField.jav b/testData/ast/field/file/publicField.jav new file mode 100644 index 00000000000..1944ff6914a --- /dev/null +++ b/testData/ast/field/file/publicField.jav @@ -0,0 +1,3 @@ +class C { +public Foo f; +} \ No newline at end of file diff --git a/testData/ast/field/file/valWithInit.jav b/testData/ast/field/file/valWithInit.jav new file mode 100644 index 00000000000..4e007d357ce --- /dev/null +++ b/testData/ast/field/file/valWithInit.jav @@ -0,0 +1,3 @@ +class C { +final Foo f = new Foo(1, 2); +} \ No newline at end of file diff --git a/testData/ast/field/file/varWithInit.jav b/testData/ast/field/file/varWithInit.jav new file mode 100644 index 00000000000..07f05b3bc3f --- /dev/null +++ b/testData/ast/field/file/varWithInit.jav @@ -0,0 +1,3 @@ +class C { +Foo f = new Foo(1, 2); +} \ No newline at end of file diff --git a/testData/ast/field/file/varWithoutInit.jav b/testData/ast/field/file/varWithoutInit.jav new file mode 100644 index 00000000000..3c3f6a6f633 --- /dev/null +++ b/testData/ast/field/file/varWithoutInit.jav @@ -0,0 +1,3 @@ +class C { +Foo f; +} \ No newline at end of file diff --git a/testData/ast/field/method/internalField.jav b/testData/ast/field/method/internalField.jav deleted file mode 100644 index 3f94302d50a..00000000000 --- a/testData/ast/field/method/internalField.jav +++ /dev/null @@ -1 +0,0 @@ -Foo f; \ No newline at end of file diff --git a/testData/ast/field/method/internalField.kt b/testData/ast/field/method/internalField.kt deleted file mode 100644 index 698afa74245..00000000000 --- a/testData/ast/field/method/internalField.kt +++ /dev/null @@ -1 +0,0 @@ -var f : Foo? \ No newline at end of file diff --git a/testData/ast/field/method/privateField.jav b/testData/ast/field/method/privateField.jav deleted file mode 100644 index bb102febdcd..00000000000 --- a/testData/ast/field/method/privateField.jav +++ /dev/null @@ -1 +0,0 @@ -private Foo f; \ No newline at end of file diff --git a/testData/ast/field/method/privateField.kt b/testData/ast/field/method/privateField.kt deleted file mode 100644 index bdc2e2b5389..00000000000 --- a/testData/ast/field/method/privateField.kt +++ /dev/null @@ -1 +0,0 @@ -private var f : Foo? \ No newline at end of file diff --git a/testData/ast/field/method/protectedField.jav b/testData/ast/field/method/protectedField.jav deleted file mode 100644 index 5fec6e8c145..00000000000 --- a/testData/ast/field/method/protectedField.jav +++ /dev/null @@ -1 +0,0 @@ -protected Foo f; \ No newline at end of file diff --git a/testData/ast/field/method/protectedField.kt b/testData/ast/field/method/protectedField.kt deleted file mode 100644 index 1ce1567cdc0..00000000000 --- a/testData/ast/field/method/protectedField.kt +++ /dev/null @@ -1 +0,0 @@ -protected var f : Foo? \ No newline at end of file diff --git a/testData/ast/field/method/publicField.jav b/testData/ast/field/method/publicField.jav deleted file mode 100644 index 7f46379cf3d..00000000000 --- a/testData/ast/field/method/publicField.jav +++ /dev/null @@ -1 +0,0 @@ -public Foo f; \ No newline at end of file diff --git a/testData/ast/field/method/publicField.kt b/testData/ast/field/method/publicField.kt deleted file mode 100644 index 143ef31b5c8..00000000000 --- a/testData/ast/field/method/publicField.kt +++ /dev/null @@ -1 +0,0 @@ -public var f : Foo? \ No newline at end of file diff --git a/testData/ast/field/method/valWithInit.jav b/testData/ast/field/method/valWithInit.jav deleted file mode 100644 index 085241a9e9d..00000000000 --- a/testData/ast/field/method/valWithInit.jav +++ /dev/null @@ -1 +0,0 @@ -final Foo f = new Foo(1, 2); \ No newline at end of file diff --git a/testData/ast/field/method/valWithInit.kt b/testData/ast/field/method/valWithInit.kt deleted file mode 100644 index a737faf3351..00000000000 --- a/testData/ast/field/method/valWithInit.kt +++ /dev/null @@ -1 +0,0 @@ -val f : Foo? = Foo(1, 2) \ No newline at end of file diff --git a/testData/ast/field/method/varWithInit.jav b/testData/ast/field/method/varWithInit.jav deleted file mode 100644 index ac2b8d54bd4..00000000000 --- a/testData/ast/field/method/varWithInit.jav +++ /dev/null @@ -1 +0,0 @@ -Foo f = new Foo(1, 2); \ No newline at end of file diff --git a/testData/ast/field/method/varWithInit.kt b/testData/ast/field/method/varWithInit.kt deleted file mode 100644 index 996f5072c1b..00000000000 --- a/testData/ast/field/method/varWithInit.kt +++ /dev/null @@ -1 +0,0 @@ -var f : Foo? = Foo(1, 2) \ No newline at end of file diff --git a/testData/ast/field/method/varWithoutInit.jav b/testData/ast/field/method/varWithoutInit.jav deleted file mode 100644 index 3f94302d50a..00000000000 --- a/testData/ast/field/method/varWithoutInit.jav +++ /dev/null @@ -1 +0,0 @@ -Foo f; \ No newline at end of file diff --git a/testData/ast/field/method/varWithoutInit.kt b/testData/ast/field/method/varWithoutInit.kt deleted file mode 100644 index 698afa74245..00000000000 --- a/testData/ast/field/method/varWithoutInit.kt +++ /dev/null @@ -1 +0,0 @@ -var f : Foo? \ No newline at end of file diff --git a/testData/ast/identifier/file/finalFieldReference.kt b/testData/ast/identifier/file/finalFieldReference.kt index 18748be0d9d..7ae0f871828 100644 --- a/testData/ast/identifier/file/finalFieldReference.kt +++ b/testData/ast/identifier/file/finalFieldReference.kt @@ -4,10 +4,10 @@ open class `$`() { } open class `$$`(`$$$$` : `$$$$$`?) : `$` { val `$$$` : `$$$$$`? -{ -$`$$$` = `$$$$` -} open public fun `$$$$$$`() : `$$$$$`? { return `$$$` } +{ +$`$$$` = `$$$$` +} } \ No newline at end of file diff --git a/testData/ast/superExpression/class/classAextendsB.kt b/testData/ast/superExpression/class/classAextendsB.kt index 1ecd361e2e6..bbc73d9ba14 100644 --- a/testData/ast/superExpression/class/classAextendsB.kt +++ b/testData/ast/superExpression/class/classAextendsB.kt @@ -3,10 +3,10 @@ open fun call() : Unit { } } open class A() : B { -{ -super() -} override fun call() : Unit { return super.call() } +{ +super() +} } \ No newline at end of file diff --git a/testData/ast/trait/class/interfaceWithFields.kt b/testData/ast/trait/class/interfaceWithFields.kt index 8e2b43d7e84..1797878a578 100644 --- a/testData/ast/trait/class/interfaceWithFields.kt +++ b/testData/ast/trait/class/interfaceWithFields.kt @@ -4,4 +4,9 @@ val IN : String? = "in" val AT : String? = "@" val COMMA_WITH_SPACE : String? = (COMMA + SPACE) } +{ +this.IN = IN +this.AT = AT +this.COMMA_WITH_SPACE = COMMA_WITH_SPACE +} } \ No newline at end of file diff --git a/testData/ast/trait/class/interfaceWithStaticFields.kt b/testData/ast/trait/class/interfaceWithStaticFields.kt index 22d47bf9a91..8adea3fdf39 100644 --- a/testData/ast/trait/class/interfaceWithStaticFields.kt +++ b/testData/ast/trait/class/interfaceWithStaticFields.kt @@ -4,4 +4,9 @@ public val IN : String? = "in" public val AT : String? = "@" public val COMMA_WITH_SPACE : String? = (COMMA + SPACE) } +{ +this.IN = IN +this.AT = AT +this.COMMA_WITH_SPACE = COMMA_WITH_SPACE +} } \ No newline at end of file