KT-12039 Convert Java to Kotlin -- static imports are imported as Class.CONST (missing .Companion)

#KT-12039 Fixed
This commit is contained in:
Valentin Kipyatkov
2016-04-28 16:40:09 +03:00
parent a80d36e8eb
commit a8eef5effc
18 changed files with 289 additions and 35 deletions
+7
View File
@@ -9,14 +9,19 @@ public open class KotlinClass(public var field: Int) {
fun get(i: Int) = 0
companion object {
@JvmStatic
public fun staticFun(p: Int): Int = p
@JvmStatic
public var staticVar: Int = 1
@JvmStatic
public var staticProperty: Int
get() = 1
set(value) {}
public fun nullableStaticFun(p: Int?): Int? = p
public var nullableStaticVar: Int? = 1
const val CONST = 0
}
}
@@ -43,7 +48,9 @@ public var String.extensionProperty: Int
set(value) {}
public object KotlinObject {
@JvmStatic
public fun foo(): Int = 1
@JvmStatic
public var property1: Int = 1
public var property2: Int
get() = 1
@@ -0,0 +1,8 @@
import static kotlinApi.KotlinApiKt.*;
class C {
int foo() {
setExtensionProperty("a", 1);
return getExtensionProperty("b");
}
}
@@ -0,0 +1,8 @@
import kotlinApi.*
internal class C {
fun foo(): Int {
"a".extensionProperty = 1
return "b".extensionProperty
}
}
@@ -0,0 +1,7 @@
import static kotlinApi.KotlinObject.*;
class C {
int bar() {
return foo();
}
}
@@ -0,0 +1,8 @@
import kotlinApi.KotlinObject.foo
import kotlinApi.KotlinObject.property1
internal class C {
fun bar(): Int {
return foo()
}
}
@@ -0,0 +1,7 @@
import static kotlinApi.KotlinClass.CONST;
public class C {
void bar() {
System.out.println(CONST);
}
}
@@ -0,0 +1,7 @@
import kotlinApi.KotlinClass.Companion.CONST
class C {
internal fun bar() {
println(CONST)
}
}
@@ -0,0 +1,7 @@
import static kotlinApi.KotlinClass.*;
public class C {
void bar() {
System.out.println(CONST);
}
}
@@ -0,0 +1,10 @@
import kotlinApi.KotlinClass.Companion.staticFun
import kotlinApi.KotlinClass.Companion.staticVar
import kotlinApi.KotlinClass.Companion.staticProperty
import kotlinApi.KotlinClass.Companion.CONST
class C {
internal fun bar() {
println(CONST)
}
}
@@ -0,0 +1,7 @@
import static kotlinApi.KotlinClass.getStaticProperty;
class C {
int foo() {
return getStaticProperty();
}
}
@@ -0,0 +1,7 @@
import kotlinApi.KotlinClass.Companion.staticProperty
internal class C {
fun foo(): Int {
return staticProperty
}
}
@@ -0,0 +1,11 @@
import static kotlinApi.KotlinApiKt.extensionFunction;
import static kotlinApi.KotlinApiKt.getExtensionProperty;
import static kotlinApi.KotlinApiKt.setExtensionProperty;
class C {
int foo() {
extensionFunction(1)
setExtensionProperty("a", 1);
return getExtensionProperty("b");
}
}
@@ -0,0 +1,10 @@
import kotlinApi.extensionFunction
import kotlinApi.extensionProperty
internal class C {
fun foo(): Int {
1.extensionFunction()
"a".extensionProperty = 1
return "b".extensionProperty
}
}