Java to Kotlin converter: and even more smartness about nullability

#KT-5162 Fixed
This commit is contained in:
Valentin Kipyatkov
2014-06-04 18:38:09 +04:00
parent d49b4f86fd
commit 81caaaf579
19 changed files with 267 additions and 32 deletions
@@ -0,0 +1,8 @@
//file
class C {
private void foo(String s){}
void bar() {
foo(null)
}
}
@@ -0,0 +1,8 @@
class C() {
private fun foo(s: String?) {
}
fun bar() {
foo(null)
}
}
@@ -0,0 +1,10 @@
//file
class C {
public void foo(String s){}
}
class D {
void bar(C c) {
c.foo(null);
}
}
@@ -0,0 +1,10 @@
class C() {
public fun foo(s: String?) {
}
}
class D() {
fun bar(c: C) {
c.foo(null)
}
}
@@ -0,0 +1,8 @@
//file
class C {
private void foo(String s){}
void bar(boolean b) {
foo(b ? "a" : null)
}
}
@@ -0,0 +1,11 @@
class C() {
private fun foo(s: String?) {
}
fun bar(b: Boolean) {
foo((if (b)
"a"
else
null))
}
}
@@ -0,0 +1,12 @@
//file
interface I {
String getString();
}
class C {
void foo(I i) {
if (i.getString() == null) {
println("null")
}
}
}
@@ -0,0 +1,11 @@
trait I {
public fun getString(): String?
}
class C() {
fun foo(i: I) {
if (i.getString() == null) {
println("null")
}
}
}
@@ -0,0 +1,11 @@
//file
class C {
String foo(boolean b) {
if (b) {
return "abc"
}
else {
return null
}
}
}
@@ -0,0 +1,9 @@
class C() {
fun foo(b: Boolean): String? {
if (b) {
return "abc"
} else {
return null
}
}
}
@@ -0,0 +1,19 @@
import java.lang.Override;
import java.lang.String;
//file
interface Getter {
String get()
}
class C {
String foo(boolean b) {
Getter getter = new Getter() {
@Override
public String get() {
return null;
}
};
return "";
}
}
@@ -0,0 +1,16 @@
import java.lang.Override
trait Getter {
public fun get(): String
}
class C() {
fun foo(b: Boolean): String {
val getter = object : Getter() {
override fun get(): String? {
return null
}
}
return ""
}
}
@@ -0,0 +1,6 @@
//file
class C {
String foo(boolean b) {
return b ? "abc" : null
}
}
@@ -0,0 +1,8 @@
class C() {
fun foo(b: Boolean): String? {
return (if (b)
"abc"
else
null)
}
}