Java to Kotlin converter: no intermediate __ variable in factory function if body is simple

This commit is contained in:
Valentin Kipyatkov
2014-06-25 20:34:45 +04:00
parent 467ca77854
commit e76c3d4e9e
10 changed files with 56 additions and 53 deletions
+2 -4
View File
@@ -5,12 +5,10 @@ import java.util.HashMap
class Test private() {
class object {
fun create(): Test {
val __ = Test()
return __
return Test()
}
fun create(s: String): Test {
val __ = Test()
return __
return Test()
}
}
}
@@ -10,8 +10,7 @@ class A// this is a primary constructor
// this is a secondary constructor
fun create(): A {
val __ = A(1)
return __
return A(1)
} // end of secondary constructor body
}
}
@@ -2,13 +2,11 @@ class C(arg1: Int, arg2: Int, arg3: Int) {
class object {
fun create(arg1: Int, arg2: Int): C {
val __ = C(arg1, arg2, 0)
return __
return C(arg1, arg2, 0)
}
fun create(arg1: Int): C {
val __ = C(arg1, 0, 0)
return __
return C(arg1, 0, 0)
}
}
}
@@ -8,8 +8,7 @@ public class Identifier<T> private(private val myName: T, private val myHasDolla
class object {
public fun <T> create(name: T): Identifier<T> {
val __ = Identifier(name, false)
return __
return Identifier(name, false)
}
public fun <T> create(name: T, isNullable: Boolean): Identifier<T> {
@@ -8,8 +8,7 @@ public class Identifier private(private val myName: String, private val myHasDol
class object {
public fun create(name: String): Identifier {
val __ = Identifier(name, false)
return __
return Identifier(name, false)
}
public fun create(name: String, isNullable: Boolean): Identifier {
@@ -20,8 +20,7 @@ class C(arg1: Int, arg2: Int, arg3: Int) {
}
fun create(arg1: Int): C {
val __ = C(arg1, 0, 0)
return __
return C(arg1, 0, 0)
}
}
}
@@ -2,13 +2,11 @@ class C private(arg1: Int, arg2: Int, arg3: Int) {
class object {
private fun create(arg1: Int, arg2: Int): C {
val __ = C(arg1, arg2, 0)
return __
return C(arg1, arg2, 0)
}
public fun create(arg1: Int): C {
val __ = C(arg1, 0, 0)
return __
return C(arg1, 0, 0)
}
}
}
@@ -2,13 +2,11 @@ public class Test private(private val myName: String, var a: Boolean, var b: Dou
class object {
public fun create(): Test {
val __ = Test(0, false, 0.toDouble(), 0.toFloat(), 0, 0, 0, ' ')
return __
return Test(0, false, 0.toDouble(), 0.toFloat(), 0, 0, 0, ' ')
}
public fun create(name: String): Test {
val __ = Test(foo(name), false, 0.toDouble(), 0.toFloat(), 0, 0, 0, ' ')
return __
return Test(foo(name), false, 0.toDouble(), 0.toFloat(), 0, 0, 0, ' ')
}
fun foo(n: String): String {
+1 -2
View File
@@ -8,8 +8,7 @@ public class Identifier<T> private(private val myName: T, private val myHasDolla
class object {
public fun <T> create(name: T): Identifier<T> {
val __ = Identifier(name, false)
return __
return Identifier(name, false)
}
public fun <T> create(name: T, isNullable: Boolean): Identifier<T> {