J2K: get/set-methods converted to properties (but lot of TODOs left)
This commit is contained in:
Vendored
+13
@@ -90,4 +90,17 @@ public class MethodReferenceHelperClass {
|
||||
public void memberFun0(JFunction0 f) {}
|
||||
public <T> void memberFun1(JFunction1<T> f) {}
|
||||
public <T, K> void memberFun2(JFunction2<T, K> f) {}
|
||||
}
|
||||
|
||||
public class JavaClassWithProperties {
|
||||
public int getValue1() { return 1; }
|
||||
|
||||
public int getValue2() { return 1; }
|
||||
public void setValue2(int value) { }
|
||||
|
||||
public int getValue3() { return 1; }
|
||||
public void setValue3(int value) { }
|
||||
|
||||
public int getValue4() { return 1; }
|
||||
public void setValue4(int value) { }
|
||||
}
|
||||
Vendored
+22
-1
@@ -46,4 +46,25 @@ public object KotlinObject {
|
||||
public var property2: Int
|
||||
get() = 1
|
||||
set(value) {}
|
||||
}
|
||||
}
|
||||
|
||||
public open class KotlinClassWithProperties {
|
||||
public open var someVar1: String = ""
|
||||
public open var someVar2: String = ""
|
||||
public open var someVar3: String = ""
|
||||
public open var someVar4: String
|
||||
get() = ""
|
||||
set(value) {}
|
||||
public open val someVal: String = ""
|
||||
|
||||
public open fun getSomething1() { return 1; }
|
||||
|
||||
public open fun getSomething2() { return 1; }
|
||||
public open fun setSomething2(value: Int) { }
|
||||
|
||||
public open fun getSomething3() { return 1; }
|
||||
public open fun setSomething3(value: Int) { }
|
||||
|
||||
public open fun getSomething4() { return 1; }
|
||||
public open fun setSomething4(value: Int) { }
|
||||
}
|
||||
|
||||
@@ -2,14 +2,15 @@ internal object Library {
|
||||
fun call() {
|
||||
}
|
||||
|
||||
fun getString(): String {
|
||||
return ""
|
||||
}
|
||||
val string: String
|
||||
get() {
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
internal class User {
|
||||
fun main() {
|
||||
Library.call()
|
||||
Library.getString().isEmpty()
|
||||
Library.string.isEmpty()
|
||||
}
|
||||
}
|
||||
+6
-5
@@ -4,18 +4,19 @@ internal class Library {
|
||||
fun call() {
|
||||
}
|
||||
|
||||
fun getString(): String? {
|
||||
return ""
|
||||
}
|
||||
val string: String?
|
||||
get() {
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
internal class User {
|
||||
fun main() {
|
||||
val lib: Library = Library()
|
||||
lib.call()
|
||||
lib.getString()!!.isEmpty()
|
||||
lib.string!!.isEmpty()
|
||||
|
||||
Library().call()
|
||||
Library().getString()!!.isEmpty()
|
||||
Library().string!!.isEmpty()
|
||||
}
|
||||
}
|
||||
+6
-5
@@ -2,18 +2,19 @@ internal class Library {
|
||||
fun call() {
|
||||
}
|
||||
|
||||
fun getString(): String {
|
||||
return ""
|
||||
}
|
||||
val string: String
|
||||
get() {
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
internal class User {
|
||||
fun main() {
|
||||
val lib = Library()
|
||||
lib.call()
|
||||
lib.getString().isEmpty()
|
||||
lib.string.isEmpty()
|
||||
|
||||
Library().call()
|
||||
Library().getString().isEmpty()
|
||||
Library().string.isEmpty()
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,5 @@
|
||||
internal interface I {
|
||||
fun getX(): Int
|
||||
fun setX(x: Int)
|
||||
var x: Int
|
||||
}
|
||||
|
||||
internal class A(private var x: Int) : I {
|
||||
|
||||
override fun getX(): Int {
|
||||
return x
|
||||
}
|
||||
|
||||
override fun setX(x: Int) {
|
||||
this.x = x
|
||||
}
|
||||
}
|
||||
internal class A(override var x: Int) : I
|
||||
+3
-5
@@ -1,8 +1,6 @@
|
||||
class AAA {
|
||||
var x = 42
|
||||
private set
|
||||
|
||||
fun setX(x: Int) {
|
||||
this.x += x
|
||||
}
|
||||
set(x: Int) {
|
||||
this.x += x
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
internal class A {
|
||||
private val s: String? = null
|
||||
|
||||
fun getValue(): Any {
|
||||
return s
|
||||
}
|
||||
val value: Any
|
||||
get() {
|
||||
return s
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
interface I {
|
||||
int getSomething1();
|
||||
|
||||
int getSomething2();
|
||||
void setSomething2(int value);
|
||||
|
||||
void setSomething3(int value);
|
||||
|
||||
int getSomething4();
|
||||
void setSomething4(String value);
|
||||
|
||||
int getSomething5();
|
||||
int setSomething5(int value);
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
internal interface I {
|
||||
val something1: Int
|
||||
|
||||
var something2: Int
|
||||
|
||||
fun setSomething3(value: Int)
|
||||
|
||||
val something4: Int
|
||||
fun setSomething4(value: String)
|
||||
|
||||
val something5: Int
|
||||
fun setSomething5(value: Int): Int
|
||||
}
|
||||
+4
-5
@@ -1,11 +1,10 @@
|
||||
object AAA {
|
||||
var x = 42
|
||||
var y = 0
|
||||
val z = 0
|
||||
|
||||
fun setZ(z: Int) {
|
||||
Other.z = z
|
||||
}
|
||||
var z = 0
|
||||
set(z: Int) {
|
||||
Other.z = z
|
||||
}
|
||||
}
|
||||
|
||||
internal object Other {
|
||||
|
||||
@@ -0,0 +1,127 @@
|
||||
interface I {
|
||||
int getSomething1();
|
||||
|
||||
int getSomething2();
|
||||
|
||||
int getSomething3();
|
||||
void setSomething3(int value);
|
||||
|
||||
int getSomething4();
|
||||
void setSomething4(int value);
|
||||
|
||||
int getSomething5();
|
||||
void setSomething5(int value);
|
||||
|
||||
void setSomething6(int value);
|
||||
}
|
||||
|
||||
class B {
|
||||
public String getFromB1() {
|
||||
return "";
|
||||
}
|
||||
|
||||
public String getFromB2() {
|
||||
return "";
|
||||
}
|
||||
|
||||
public void setFromB2(String value) {
|
||||
}
|
||||
|
||||
public String getFromB3() {
|
||||
return "";
|
||||
}
|
||||
|
||||
public void setFromB3(String value) {
|
||||
}
|
||||
|
||||
public String getFromB4() {
|
||||
return "";
|
||||
}
|
||||
|
||||
public void setFromB4(String value) {
|
||||
}
|
||||
|
||||
public void setFromB5(String value) {
|
||||
}
|
||||
}
|
||||
|
||||
abstract class C extends B implements I {
|
||||
private final int mySomething1;
|
||||
private int mySomething6;
|
||||
|
||||
C(int something1) {
|
||||
mySomething1 = something1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSomething1() {
|
||||
return mySomething1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSomething2() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSomething3() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSomething3(int value) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSomething4() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSomething5(int value) {
|
||||
|
||||
}
|
||||
|
||||
public int getSomething6() {
|
||||
return mySomething6;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSomething6(int value) {
|
||||
mySomething6 = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFromB1() {
|
||||
return super.getFromB1();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFromB2() {
|
||||
return super.getFromB2();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFromB2(String value) {
|
||||
super.setFromB2(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFromB3() {
|
||||
return super.getFromB3();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFromB4(String value) {
|
||||
super.setFromB4(value);
|
||||
}
|
||||
|
||||
public String getFromB5() {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFromB5(String value) {
|
||||
super.setFromB5(value);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
// ERROR: Property must be initialized
|
||||
// ERROR: Property must be initialized
|
||||
// ERROR: Property must be initialized
|
||||
// ERROR: Property must be initialized
|
||||
internal interface I {
|
||||
val something1: Int
|
||||
|
||||
val something2: Int
|
||||
|
||||
var something3: Int
|
||||
|
||||
var something4: Int
|
||||
|
||||
var something5: Int
|
||||
|
||||
fun setSomething6(value: Int)
|
||||
}
|
||||
|
||||
internal open class B {
|
||||
open val fromB1: String
|
||||
get() {
|
||||
return ""
|
||||
}
|
||||
|
||||
open var fromB2: String
|
||||
get() {
|
||||
return ""
|
||||
}
|
||||
set(value: String) {
|
||||
}
|
||||
|
||||
open var fromB3: String
|
||||
get() {
|
||||
return ""
|
||||
}
|
||||
set(value: String) {
|
||||
}
|
||||
|
||||
open var fromB4: String
|
||||
get() {
|
||||
return ""
|
||||
}
|
||||
set(value: String) {
|
||||
}
|
||||
|
||||
open fun setFromB5(value: String) {
|
||||
}
|
||||
}
|
||||
|
||||
internal abstract class C(override val something1: Int) : B(), I {
|
||||
private var mySomething6: Int = 0
|
||||
|
||||
override val something2: Int
|
||||
get() {
|
||||
return 0
|
||||
}
|
||||
|
||||
override var something3: Int
|
||||
get() {
|
||||
return 0
|
||||
}
|
||||
set(value: Int) {
|
||||
}
|
||||
|
||||
override var something4: Int
|
||||
get() {
|
||||
return 0
|
||||
}
|
||||
|
||||
override var something5: Int
|
||||
set(value: Int) {
|
||||
|
||||
}
|
||||
|
||||
fun getSomething6(): Int {
|
||||
return mySomething6
|
||||
}
|
||||
|
||||
override fun setSomething6(value: Int) {
|
||||
mySomething6 = value
|
||||
}
|
||||
|
||||
override val fromB1: String
|
||||
get() {
|
||||
return super.fromB1
|
||||
}
|
||||
|
||||
override var fromB2: String
|
||||
get() {
|
||||
return super.fromB2
|
||||
}
|
||||
set(value: String) {
|
||||
super.fromB2 = value
|
||||
}
|
||||
|
||||
override var fromB3: String
|
||||
get() {
|
||||
return super.fromB3
|
||||
}
|
||||
|
||||
override var fromB4: String
|
||||
set(value: String) {
|
||||
super.fromB4 = value
|
||||
}
|
||||
|
||||
val fromB5: String
|
||||
get() {
|
||||
return ""
|
||||
}
|
||||
|
||||
override fun setFromB5(value: String) {
|
||||
super.setFromB5(value)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
import kotlinApi.KotlinClassWithProperties;
|
||||
import javaApi.JavaClassWithProperties;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
|
||||
class A extends KotlinClassWithProperties {
|
||||
@NotNull
|
||||
@Override
|
||||
public String getSomeVar1() {
|
||||
return super.getSomeVar1();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSomeVar1(@NotNull String s) {
|
||||
super.setSomeVar1(s);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getSomeVar2() {
|
||||
return super.getSomeVar2();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSomeVar3(@NotNull String s) {
|
||||
super.setSomeVar3(s);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getSomeVar4() {
|
||||
return super.getSomeVar4();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getSomeVal() {
|
||||
return super.getSomeVal();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSomething1() {
|
||||
super.getSomething1();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSomething2() {
|
||||
super.getSomething2();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSomething2(int value) {
|
||||
super.setSomething2(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSomething3() {
|
||||
super.getSomething3();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSomething4(int value) {
|
||||
super.setSomething4(value);
|
||||
}
|
||||
}
|
||||
|
||||
class B extends JavaClassWithProperties {
|
||||
@Override
|
||||
public int getValue1() {
|
||||
return super.getValue1();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getValue2() {
|
||||
return super.getValue2();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue2(int value) {
|
||||
super.setValue2(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getValue3() {
|
||||
return super.getValue3();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue4(int value) {
|
||||
super.setValue4(value);
|
||||
}
|
||||
}
|
||||
|
||||
class C extends A {
|
||||
@NotNull
|
||||
@Override
|
||||
public String getSomeVar1() {
|
||||
return super.getSomeVar1();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
// ERROR: Property must be initialized
|
||||
// ERROR: Property must be initialized
|
||||
// ERROR: Property must be initialized
|
||||
// ERROR: Property must be initialized
|
||||
import kotlinApi.KotlinClassWithProperties
|
||||
import javaApi.JavaClassWithProperties
|
||||
|
||||
internal open class A : KotlinClassWithProperties() {
|
||||
override var someVar1: String
|
||||
get() {
|
||||
return super.someVar1
|
||||
}
|
||||
set(s: String) {
|
||||
super.someVar1 = s
|
||||
}
|
||||
|
||||
override var someVar2: String
|
||||
get() {
|
||||
return super.someVar2
|
||||
}
|
||||
|
||||
override var someVar3: String
|
||||
set(s: String) {
|
||||
super.someVar3 = s
|
||||
}
|
||||
|
||||
override var someVar4: String
|
||||
get() {
|
||||
return super.someVar4
|
||||
}
|
||||
|
||||
override val someVal: String
|
||||
get() {
|
||||
return super.someVal
|
||||
}
|
||||
|
||||
override fun getSomething1() {
|
||||
super.getSomething1()
|
||||
}
|
||||
|
||||
override fun getSomething2() {
|
||||
super.getSomething2()
|
||||
}
|
||||
|
||||
override fun setSomething2(value: Int) {
|
||||
super.setSomething2(value)
|
||||
}
|
||||
|
||||
override fun getSomething3() {
|
||||
super.getSomething3()
|
||||
}
|
||||
|
||||
override fun setSomething4(value: Int) {
|
||||
super.setSomething4(value)
|
||||
}
|
||||
}
|
||||
|
||||
internal class B : JavaClassWithProperties() {
|
||||
override fun getValue1(): Int {
|
||||
return super.getValue1()
|
||||
}
|
||||
|
||||
override fun getValue2(): Int {
|
||||
return super.getValue2()
|
||||
}
|
||||
|
||||
override fun setValue2(value: Int) {
|
||||
super.setValue2(value)
|
||||
}
|
||||
|
||||
override fun getValue3(): Int {
|
||||
return super.getValue3()
|
||||
}
|
||||
|
||||
override fun setValue4(value: Int) {
|
||||
super.setValue4(value)
|
||||
}
|
||||
}
|
||||
|
||||
internal class C : A() {
|
||||
override var someVar1: String
|
||||
get() {
|
||||
return super.someVar1
|
||||
}
|
||||
}
|
||||
+5
-4
@@ -1,5 +1,5 @@
|
||||
internal class A {
|
||||
private var i: Int? = getByte().toInt()
|
||||
private var i: Int? = byte.toInt()
|
||||
|
||||
fun foo() {
|
||||
i = 10
|
||||
@@ -7,8 +7,9 @@ internal class A {
|
||||
|
||||
companion object {
|
||||
|
||||
fun getByte(): Byte {
|
||||
return 0
|
||||
}
|
||||
val byte: Byte
|
||||
get() {
|
||||
return 0
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1 +1 @@
|
||||
internal abstract fun getNoofGears(): Int
|
||||
internal abstract val noofGears: Int
|
||||
@@ -1,2 +1,3 @@
|
||||
fun getT(): T {
|
||||
}
|
||||
val t: T
|
||||
get() {
|
||||
}
|
||||
+4
-3
@@ -1,3 +1,4 @@
|
||||
fun getString(): String {
|
||||
return ""
|
||||
}
|
||||
val string: String
|
||||
get() {
|
||||
return ""
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
fun isTrue(): Boolean {
|
||||
return true
|
||||
}
|
||||
val isTrue: Boolean
|
||||
get() {
|
||||
return true
|
||||
}
|
||||
+4
-3
@@ -1,3 +1,4 @@
|
||||
fun getString(): String {
|
||||
return ""
|
||||
}
|
||||
val string: String
|
||||
get() {
|
||||
return ""
|
||||
}
|
||||
+5
-4
@@ -1,6 +1,7 @@
|
||||
internal class Test {
|
||||
fun getInt(): Int {
|
||||
val b = 10
|
||||
return b.toInt()
|
||||
}
|
||||
val int: Int
|
||||
get() {
|
||||
val b = 10
|
||||
return b.toInt()
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
internal interface I {
|
||||
fun getString(): String?
|
||||
val string: String?
|
||||
}
|
||||
|
||||
internal class C {
|
||||
fun foo(i: I) {
|
||||
if (i.getString() == null) {
|
||||
if (i.string == null) {
|
||||
println("null")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
internal interface I {
|
||||
fun getString(): String?
|
||||
val string: String?
|
||||
}
|
||||
|
||||
internal class C {
|
||||
fun foo(i: I) {
|
||||
val result = i.getString()
|
||||
val result = i.string
|
||||
if (result != null) {
|
||||
print(result)
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
internal interface I {
|
||||
fun getString(): String?
|
||||
val string: String?
|
||||
}
|
||||
|
||||
internal class C {
|
||||
fun foo(i: I) {
|
||||
val result = i.getString()
|
||||
val result = i.string
|
||||
if (result != null) {
|
||||
print(result)
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
internal interface I {
|
||||
fun getString(): String
|
||||
val string: String
|
||||
}
|
||||
|
||||
internal class C {
|
||||
fun foo(i: I, b: Boolean) {
|
||||
var result: String? = i.getString()
|
||||
var result: String? = i.string
|
||||
if (b) result = null
|
||||
if (result != null) {
|
||||
print(result)
|
||||
|
||||
@@ -1,16 +1,18 @@
|
||||
internal interface I {
|
||||
fun getInt(): Int
|
||||
val int: Int
|
||||
}
|
||||
|
||||
internal class C {
|
||||
fun getObject(): Any? {
|
||||
foo(object : I {
|
||||
override fun getInt(): Int {
|
||||
return 0
|
||||
}
|
||||
})
|
||||
return string
|
||||
}
|
||||
val `object`: Any?
|
||||
get() {
|
||||
foo(object : I {
|
||||
override val int: Int
|
||||
get() {
|
||||
return 0
|
||||
}
|
||||
})
|
||||
return string
|
||||
}
|
||||
|
||||
fun foo(i: I) {
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
internal interface INode {
|
||||
fun getTag(): Tag
|
||||
val tag: Tag
|
||||
fun toKotlin(): String
|
||||
}
|
||||
+1
-1
@@ -6,6 +6,6 @@ class AAA {
|
||||
}
|
||||
|
||||
fun bar(b: B) {
|
||||
println(b.YY)
|
||||
println(b.yy)
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
internal class B {
|
||||
fun foo(a: AAA) {
|
||||
a.x = a.x + 1
|
||||
YY += "a"
|
||||
yy += "a"
|
||||
}
|
||||
|
||||
var YY = ""
|
||||
var yy = ""
|
||||
private set
|
||||
}
|
||||
Reference in New Issue
Block a user