From 93ba66b2a39d3c7d14409df1483f3977809bc262 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Wed, 11 Jun 2014 18:47:02 +0400 Subject: [PATCH] Converter from Java: generate "create" for factory methods instead of "init" --- j2k/src/org/jetbrains/jet/j2k/ast/Constructors.kt | 2 +- .../jetbrains/jet/j2k/visitors/ExpressionVisitor.kt | 2 +- j2k/tests/testData/ast/class/kt-639.kt | 8 ++++---- .../testData/ast/constructors/allCallsPrimary.kt | 8 ++++---- .../testData/ast/constructors/allCallsPrimary2.kt | 8 ++++---- .../testData/ast/constructors/genericIdentifier.kt | 12 ++++++------ j2k/tests/testData/ast/constructors/identifier.kt | 12 ++++++------ .../testData/ast/constructors/privateConstructors.kt | 6 +++--- .../ast/constructors/withManyDefaultParams.kt | 6 +++--- j2k/tests/testData/ast/issues/kt-638.kt | 12 ++++++------ 10 files changed, 38 insertions(+), 38 deletions(-) diff --git a/j2k/src/org/jetbrains/jet/j2k/ast/Constructors.kt b/j2k/src/org/jetbrains/jet/j2k/ast/Constructors.kt index b1589bc8874..1227f1793e9 100644 --- a/j2k/src/org/jetbrains/jet/j2k/ast/Constructors.kt +++ b/j2k/src/org/jetbrains/jet/j2k/ast/Constructors.kt @@ -58,7 +58,7 @@ class SecondaryConstructor(converter: Converter, val block = Block(statements) val typeParameters = ArrayList() typeParameters.addAll(containingClass.typeParameterList.parameters) - return Function(converter, Identifier("init"), MemberComments.Empty, modifiers, + return Function(converter, Identifier("create"), MemberComments.Empty, modifiers, ClassType(containingClass.name, typeParameters, Nullability.NotNull, converter.settings), TypeParameterList(typeParameters), parameterList, block, false) } diff --git a/j2k/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.kt b/j2k/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.kt index ee05a5c2bdc..43fe4f2f50a 100644 --- a/j2k/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.kt +++ b/j2k/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.kt @@ -262,7 +262,7 @@ class ExpressionVisitor(private val converter: Converter, val reference = expression.getClassReference() val typeParameters = if (reference != null) typeConverter.convertTypes(reference.getTypeParameters()) else listOf() return QualifiedExpression(Identifier(constructor.getName(), false), - MethodCallExpression.buildNotNull(null, "init", converter.convertExpressions(arguments), typeParameters)) + MethodCallExpression.buildNotNull(null, "create", converter.convertExpressions(arguments), typeParameters)) } return NewClassExpression(converter.convertElement(classReference), diff --git a/j2k/tests/testData/ast/class/kt-639.kt b/j2k/tests/testData/ast/class/kt-639.kt index ddaee0f171b..b9d664921b9 100644 --- a/j2k/tests/testData/ast/class/kt-639.kt +++ b/j2k/tests/testData/ast/class/kt-639.kt @@ -4,11 +4,11 @@ import java.util.HashMap class Test private() { class object { - fun init(): Test { + fun create(): Test { val __ = Test() return __ } - fun init(s: String): Test { + fun create(s: String): Test { val __ = Test() return __ } @@ -20,7 +20,7 @@ class User() { val m = HashMap(1) val m2 = HashMap(10) - val t1 = Test.init() - val t2 = Test.init("") + val t1 = Test.create() + val t2 = Test.create("") } } \ No newline at end of file diff --git a/j2k/tests/testData/ast/constructors/allCallsPrimary.kt b/j2k/tests/testData/ast/constructors/allCallsPrimary.kt index 59223e27a74..df84622b5c6 100644 --- a/j2k/tests/testData/ast/constructors/allCallsPrimary.kt +++ b/j2k/tests/testData/ast/constructors/allCallsPrimary.kt @@ -1,12 +1,12 @@ class C(arg1: Int, arg2: Int, arg3: Int) { class object { - fun init(arg1: Int, arg2: Int): C { + fun create(arg1: Int, arg2: Int): C { val __ = C(arg1, arg2, 0) return __ } - fun init(arg1: Int): C { + fun create(arg1: Int): C { val __ = C(arg1, 0, 0) return __ } @@ -17,8 +17,8 @@ public class User() { class object { public fun main() { val c1 = C(100, 100, 100) - val c2 = C.init(100, 100) - val c3 = C.init(100) + val c2 = C.create(100, 100) + val c3 = C.create(100) } } } \ No newline at end of file diff --git a/j2k/tests/testData/ast/constructors/allCallsPrimary2.kt b/j2k/tests/testData/ast/constructors/allCallsPrimary2.kt index c1249fd7180..d52b169f49d 100644 --- a/j2k/tests/testData/ast/constructors/allCallsPrimary2.kt +++ b/j2k/tests/testData/ast/constructors/allCallsPrimary2.kt @@ -9,14 +9,14 @@ class C(val myArg1: Int) { class object { - fun init(arg1: Int, arg2: Int, arg3: Int): C { + fun create(arg1: Int, arg2: Int, arg3: Int): C { val __ = C(arg1) __.myArg2 = arg2 __.myArg3 = arg3 return __ } - fun init(arg1: Int, arg2: Int): C { + fun create(arg1: Int, arg2: Int): C { val __ = C(arg1) __.myArg2 = arg2 __.myArg3 = 0 @@ -28,8 +28,8 @@ class C(val myArg1: Int) { public class User() { class object { public fun main() { - val c1 = C.init(100, 100, 100) - val c2 = C.init(100, 100) + val c1 = C.create(100, 100, 100) + val c2 = C.create(100, 100) val c3 = C(100) } } diff --git a/j2k/tests/testData/ast/constructors/genericIdentifier.kt b/j2k/tests/testData/ast/constructors/genericIdentifier.kt index 0bbd7ccfb40..bd04550571f 100644 --- a/j2k/tests/testData/ast/constructors/genericIdentifier.kt +++ b/j2k/tests/testData/ast/constructors/genericIdentifier.kt @@ -7,18 +7,18 @@ public class Identifier private(private val myName: T, private var myHasDolla class object { - public fun init(name: T): Identifier { + public fun create(name: T): Identifier { val __ = Identifier(name, false) return __ } - public fun init(name: T, isNullable: Boolean): Identifier { + public fun create(name: T, isNullable: Boolean): Identifier { val __ = Identifier(name, false) __.myNullable = isNullable return __ } - public fun init(name: T, hasDollar: Boolean, isNullable: Boolean): Identifier { + public fun create(name: T, hasDollar: Boolean, isNullable: Boolean): Identifier { val __ = Identifier(name, hasDollar) __.myNullable = isNullable return __ @@ -29,9 +29,9 @@ public class Identifier private(private val myName: T, private var myHasDolla public class User() { class object { public fun main() { - val i1 = Identifier.init("name", false, true) - val i2 = Identifier.init("name", false) - val i3 = Identifier.init("name") + val i1 = Identifier.create("name", false, true) + val i2 = Identifier.create("name", false) + val i3 = Identifier.create("name") } } } \ No newline at end of file diff --git a/j2k/tests/testData/ast/constructors/identifier.kt b/j2k/tests/testData/ast/constructors/identifier.kt index 5e6c067fe8f..065a38f2edd 100644 --- a/j2k/tests/testData/ast/constructors/identifier.kt +++ b/j2k/tests/testData/ast/constructors/identifier.kt @@ -7,18 +7,18 @@ public class Identifier private(private val myName: String, private var myHasDol class object { - public fun init(name: String): Identifier { + public fun create(name: String): Identifier { val __ = Identifier(name, false) return __ } - public fun init(name: String, isNullable: Boolean): Identifier { + public fun create(name: String, isNullable: Boolean): Identifier { val __ = Identifier(name, false) __.myNullable = isNullable return __ } - public fun init(name: String, hasDollar: Boolean, isNullable: Boolean): Identifier { + public fun create(name: String, hasDollar: Boolean, isNullable: Boolean): Identifier { val __ = Identifier(name, hasDollar) __.myNullable = isNullable return __ @@ -29,9 +29,9 @@ public class Identifier private(private val myName: String, private var myHasDol public class User() { class object { public fun main() { - val i1 = Identifier.init("name", false, true) - val i2 = Identifier.init("name", false) - val i3 = Identifier.init("name") + val i1 = Identifier.create("name", false, true) + val i2 = Identifier.create("name", false) + val i3 = Identifier.create("name") } } } \ No newline at end of file diff --git a/j2k/tests/testData/ast/constructors/privateConstructors.kt b/j2k/tests/testData/ast/constructors/privateConstructors.kt index 884b005389f..60c966bb8ac 100644 --- a/j2k/tests/testData/ast/constructors/privateConstructors.kt +++ b/j2k/tests/testData/ast/constructors/privateConstructors.kt @@ -1,14 +1,14 @@ class C private(arg1: Int, arg2: Int, arg3: Int) { class object { - private fun init(arg1: Int, arg2: Int): C { + private fun create(arg1: Int, arg2: Int): C { val __ = C(arg1, arg2, 0) return __ } - public fun init(arg1: Int): C { + public fun create(arg1: Int): C { val __ = C(arg1, 0, 0) return __ } } -} \ No newline at end of file +} diff --git a/j2k/tests/testData/ast/constructors/withManyDefaultParams.kt b/j2k/tests/testData/ast/constructors/withManyDefaultParams.kt index 9a651b687c1..10a1911bad5 100644 --- a/j2k/tests/testData/ast/constructors/withManyDefaultParams.kt +++ b/j2k/tests/testData/ast/constructors/withManyDefaultParams.kt @@ -1,12 +1,12 @@ public class Test private(private val myName: String, private var a: Boolean, private var b: Double, private var c: Float, private var d: Long, private var e: Int, private var f: Short, private var g: Char) { class object { - public fun init(): Test { + public fun create(): Test { val __ = Test(0, false, 0.toDouble(), 0.toFloat(), 0, 0, 0, ' ') return __ } - public fun init(name: String): Test { + public fun create(name: String): Test { val __ = Test(foo(name), false, 0.toDouble(), 0.toFloat(), 0, 0, 0, ' ') return __ } @@ -21,7 +21,7 @@ public class Test private(private val myName: String, private var a: Boolean, pr public class User() { class object { public fun main() { - val t = Test.init("name") + val t = Test.create("name") } } } \ No newline at end of file diff --git a/j2k/tests/testData/ast/issues/kt-638.kt b/j2k/tests/testData/ast/issues/kt-638.kt index 5e8777317de..211646d6498 100644 --- a/j2k/tests/testData/ast/issues/kt-638.kt +++ b/j2k/tests/testData/ast/issues/kt-638.kt @@ -7,18 +7,18 @@ public class Identifier private(private val myName: T, private var myHasDolla class object { - public fun init(name: T): Identifier { + public fun create(name: T): Identifier { val __ = Identifier(name, false) return __ } - public fun init(name: T, isNullable: Boolean): Identifier { + public fun create(name: T, isNullable: Boolean): Identifier { val __ = Identifier(name, false) __.myNullable = isNullable return __ } - public fun init(name: T, hasDollar: Boolean, isNullable: Boolean): Identifier { + public fun create(name: T, hasDollar: Boolean, isNullable: Boolean): Identifier { val __ = Identifier(name, hasDollar) __.myNullable = isNullable return __ @@ -29,9 +29,9 @@ public class Identifier private(private val myName: T, private var myHasDolla public class User() { class object { public fun main(args: Array) { - val i1 = Identifier.init("name", false, true) - val i2 = Identifier.init("name", false) - val i3 = Identifier.init("name") + val i1 = Identifier.create("name", false, true) + val i2 = Identifier.create("name", false) + val i3 = Identifier.create("name") } } }