Changes on code review

This commit is contained in:
Valentin Kipyatkov
2015-07-31 21:36:06 +03:00
parent 6df218df52
commit 4c0404ea82
16 changed files with 72 additions and 40 deletions
@@ -3,8 +3,6 @@ fun foo(javaClass: JavaClass<String>): String {
return javaClass.doSomething("", 1) { s: String -> "" }
}
fun useString(<!UNUSED_PARAMETER!>s<!>: String) {}
// FILE: JavaClass.java
public class JavaClass<T> {
public T doSomething(T t, int anInt, I<T> i) { return t; }
@@ -1,7 +1,6 @@
package
internal fun foo(/*0*/ javaClass: JavaClass<kotlin.String>): kotlin.String
internal fun useString(/*0*/ s: kotlin.String): kotlin.Unit
public open class JavaClass</*0*/ T : kotlin.Any!> {
public constructor JavaClass</*0*/ T : kotlin.Any!>()
@@ -1,11 +1,13 @@
// FILE: KotlinFile.kt
fun foo(javaClass: JavaClass<Int>): String {
return javaClass.doSomething("", 1) { it }
fun foo(javaClass: JavaClass<Int>) {
val <!UNUSED_VARIABLE!>a<!>: String = javaClass.doSomething1("", 1) { p: String -> p }
val <!UNUSED_VARIABLE!>b<!>: String = javaClass.doSomething2("", 1, true) { p: Int -> p }
}
// FILE: JavaClass.java
public class JavaClass<X> {
public <T> T doSomething(T t, X x, I<T> i) { return i.run(t); }
public <T> T doSomething1(T t, X x, I<T> i) { return i.run(t); }
public <T> T doSomething2(T t, X x, boolean p, I<X> i) { return i.run(t); }
}
interface I<T> {
@@ -1,10 +1,11 @@
package
internal fun foo(/*0*/ javaClass: JavaClass<kotlin.Int>): kotlin.String
internal fun foo(/*0*/ javaClass: JavaClass<kotlin.Int>): kotlin.Unit
public open class JavaClass</*0*/ X : kotlin.Any!> {
public constructor JavaClass</*0*/ X : kotlin.Any!>()
public open fun </*0*/ T : kotlin.Any!> doSomething(/*0*/ t: T!, /*1*/ x: X!, /*2*/ i: I<T!>!): T!
public open fun </*0*/ T : kotlin.Any!> doSomething1(/*0*/ t: T!, /*1*/ x: X!, /*2*/ i: I<T!>!): T!
public open fun </*0*/ T : kotlin.Any!> doSomething2(/*0*/ t: T!, /*1*/ x: X!, /*2*/ p: kotlin.Boolean, /*3*/ i: I<X!>!): T!
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -1,20 +1,16 @@
// FILE: KotlinFile.kt
fun foo(javaClass: JavaClass<Int>) {
fun foo(javaClass: JavaClass<Int>): Int {
val inner = javaClass.createInner<String>()
inner.doSomething(1, "") {
bar()
}
return inner.doSomething(1, "") { }
}
fun bar(){}
// FILE: JavaClass.java
public class JavaClass<T> {
public <X> Inner<X> createInner() {
return new Inner<X>();
}
public class Inner<X>{
public void doSomething(T t, X x, Runnable runnable) { runnable.run(); }
public interface Inner<X>{
public T doSomething(T t, X x, Runnable runnable);
}
}
@@ -1,7 +1,6 @@
package
internal fun bar(): kotlin.Unit
internal fun foo(/*0*/ javaClass: JavaClass<kotlin.Int>): kotlin.Unit
internal fun foo(/*0*/ javaClass: JavaClass<kotlin.Int>): kotlin.Int
public open class JavaClass</*0*/ T : kotlin.Any!> {
public constructor JavaClass</*0*/ T : kotlin.Any!>()
@@ -10,11 +9,13 @@ public open class JavaClass</*0*/ T : kotlin.Any!> {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class Inner</*0*/ X : kotlin.Any!> {
public constructor Inner</*0*/ X : kotlin.Any!>()
public open fun doSomething(/*0*/ t: T!, /*1*/ x: X!, /*2*/ runnable: java.lang.Runnable!): kotlin.Unit
public interface Inner</*0*/ X : kotlin.Any!> {
public abstract fun doSomething(/*0*/ t: T!, /*1*/ x: X!, /*2*/ runnable: java.lang.Runnable!): T!
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
// Static members
public final /*synthesized*/ fun </*0*/ X : kotlin.Any!> Inner(/*0*/ function: (T!, X!, java.lang.Runnable!) -> T!): JavaClass.Inner<X>
}
@@ -1,4 +1,4 @@
// FILE: KotlinFile.kt
// FILE: KotlinFile1.kt
package k
import JavaClass
@@ -7,6 +7,11 @@ fun foo(javaClass: JavaClass) {
javaClass.<!INVISIBLE_MEMBER!>doSomething<!> <!TYPE_MISMATCH!>{ }<!>
}
// FILE: KotlinFile2.kt
fun foo(javaClass: JavaClass) {
javaClass.doSomething { }
}
// FILE: JavaClass.java
public class JavaClass {
void doSomething(Runnable runnable) { runnable.run(); }
@@ -1,5 +1,7 @@
package
internal fun foo(/*0*/ javaClass: JavaClass): kotlin.Unit
public open class JavaClass {
public constructor JavaClass()
public/*package*/ open fun doSomething(/*0*/ runnable: java.lang.Runnable!): kotlin.Unit
@@ -1,8 +1,4 @@
// FILE: KotlinFile.kt
package k
import JavaClass
fun foo(javaClass: JavaClass) {
javaClass.<!INVISIBLE_MEMBER!>doSomething<!> <!TYPE_MISMATCH!>{ }<!>
}
@@ -1,5 +1,7 @@
package
internal fun foo(/*0*/ javaClass: JavaClass): kotlin.Unit
public open class JavaClass {
public constructor JavaClass()
private open fun doSomething(/*0*/ runnable: java.lang.Runnable!): kotlin.Unit
@@ -7,7 +9,3 @@ public open class JavaClass {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
package k {
internal fun foo(/*0*/ javaClass: JavaClass): kotlin.Unit
}
@@ -1,7 +1,6 @@
// FILE: KotlinFile.kt
fun foo(javaInterface: JavaInterface) {
val value: String?
value = javaInterface.compute { "" }
val value = javaInterface.compute { "" }
value<!UNSAFE_CALL!>.<!>length()
}