Correct visibility for non-public SAM-adapters

This commit is contained in:
Valentin Kipyatkov
2015-07-29 17:58:42 +03:00
parent 2eb04db95a
commit d5f95cf126
19 changed files with 219 additions and 96 deletions
@@ -0,0 +1,13 @@
// FILE: KotlinFile.kt
package k
import JavaClass
fun foo(javaClass: JavaClass) {
javaClass.<!INVISIBLE_MEMBER!>doSomething<!> <!TYPE_MISMATCH!>{ }<!>
}
// FILE: JavaClass.java
public class JavaClass {
void doSomething(Runnable runnable) { runnable.run(); }
}
@@ -0,0 +1,13 @@
package
public open class JavaClass {
public constructor JavaClass()
public/*package*/ open fun doSomething(/*0*/ runnable: java.lang.Runnable!): kotlin.Unit
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
}
package k {
internal fun foo(/*0*/ javaClass: JavaClass): kotlin.Unit
}
@@ -0,0 +1,13 @@
// FILE: KotlinFile.kt
package k
import JavaClass
fun foo(javaClass: JavaClass) {
javaClass.<!INVISIBLE_MEMBER!>doSomething<!> <!TYPE_MISMATCH!>{ }<!>
}
// FILE: JavaClass.java
public class JavaClass {
private void doSomething(Runnable runnable) { runnable.run(); }
}
@@ -0,0 +1,13 @@
package
public open class JavaClass {
public constructor JavaClass()
private open fun doSomething(/*0*/ runnable: java.lang.Runnable!): kotlin.Unit
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
}
package k {
internal fun foo(/*0*/ javaClass: JavaClass): kotlin.Unit
}
@@ -0,0 +1,24 @@
// FILE: KotlinFile.kt
package k
import JavaClass
fun foo(javaClass: JavaClass) {
javaClass.<!INVISIBLE_MEMBER!>doSomething<!> <!TYPE_MISMATCH!>{
bar()
}<!>
}
class X : JavaClass() {
fun foo(other: JavaClass) {
doSomething { bar() }
other.doSomething { bar() } // currently not flagged as error - see KT-8654
}
}
fun bar(){}
// FILE: JavaClass.java
public class JavaClass {
protected void doSomething(Runnable runnable) { runnable.run(); }
}
@@ -0,0 +1,23 @@
package
public open class JavaClass {
public constructor JavaClass()
protected/*protected and package*/ open fun doSomething(/*0*/ runnable: java.lang.Runnable!): kotlin.Unit
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
}
package k {
internal fun bar(): kotlin.Unit
internal fun foo(/*0*/ javaClass: JavaClass): kotlin.Unit
internal final class X : JavaClass {
public constructor X()
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun doSomething(/*0*/ runnable: java.lang.Runnable!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
internal final fun foo(/*0*/ other: JavaClass): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}