Exposed visibility checking, a set of exposed visibility tests, some test fixes
Effective visibility mechanism introduced. Local is considered as public, java protected as Kotlin protected, java package private as Kotlin private.
This commit is contained in:
committed by
Mikhail Glukhikh
parent
fa32aa2950
commit
0cc861f00b
+1
-1
@@ -1,5 +1,5 @@
|
||||
// FILE: Super.java
|
||||
class Super {
|
||||
public class Super {
|
||||
void foo(Runnable r) {
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -9,8 +9,8 @@ public final class Sub : Super {
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public/*package*/ open class Super {
|
||||
public/*package*/ constructor Super()
|
||||
public open class Super {
|
||||
public constructor Super()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public/*package*/ open fun foo(/*0*/ r: java.lang.Runnable!): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// FILE: B.java
|
||||
|
||||
abstract class B implements A {
|
||||
public abstract class B implements A {
|
||||
public int size = 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -9,8 +9,8 @@ public interface A {
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public/*package*/ abstract class B : A {
|
||||
public/*package*/ constructor B()
|
||||
public abstract class B : A {
|
||||
public constructor B()
|
||||
public final var size: kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
@@ -16,29 +16,29 @@ class MyJavaClass {
|
||||
//FILE:a.kt
|
||||
package a
|
||||
|
||||
val mc = MyJavaClass()
|
||||
<!EXPOSED_PROPERTY_TYPE!>val mc = MyJavaClass()<!>
|
||||
val x = MyJavaClass.staticMethod()
|
||||
val y = MyJavaClass.NestedClass.staticMethodOfNested()
|
||||
val z = MyJavaClass.NestedClass()
|
||||
<!EXPOSED_PROPERTY_TYPE!>val z = MyJavaClass.NestedClass()<!>
|
||||
|
||||
//FILE: b.kt
|
||||
package b
|
||||
|
||||
import a.<!INVISIBLE_REFERENCE!>MyJavaClass<!>
|
||||
|
||||
val mc1 = <!INVISIBLE_MEMBER!>MyJavaClass<!>()
|
||||
<!EXPOSED_PROPERTY_TYPE!>val mc1 = <!INVISIBLE_MEMBER!>MyJavaClass<!>()<!>
|
||||
|
||||
val x = MyJavaClass.<!INVISIBLE_MEMBER!>staticMethod<!>()
|
||||
val y = MyJavaClass.NestedClass.<!INVISIBLE_MEMBER!>staticMethodOfNested<!>()
|
||||
val z = MyJavaClass.<!INVISIBLE_MEMBER!>NestedClass<!>()
|
||||
<!EXPOSED_PROPERTY_TYPE!>val z = MyJavaClass.<!INVISIBLE_MEMBER!>NestedClass<!>()<!>
|
||||
|
||||
//FILE: c.kt
|
||||
package a.c
|
||||
|
||||
import a.<!INVISIBLE_REFERENCE!>MyJavaClass<!>
|
||||
|
||||
val mc1 = <!INVISIBLE_MEMBER!>MyJavaClass<!>()
|
||||
<!EXPOSED_PROPERTY_TYPE!>val mc1 = <!INVISIBLE_MEMBER!>MyJavaClass<!>()<!>
|
||||
|
||||
val x = MyJavaClass.<!INVISIBLE_MEMBER!>staticMethod<!>()
|
||||
val y = MyJavaClass.NestedClass.<!INVISIBLE_MEMBER!>staticMethodOfNested<!>()
|
||||
val z = MyJavaClass.<!INVISIBLE_MEMBER!>NestedClass<!>()
|
||||
<!EXPOSED_PROPERTY_TYPE!>val z = MyJavaClass.<!INVISIBLE_MEMBER!>NestedClass<!>()<!>
|
||||
@@ -1,6 +1,6 @@
|
||||
// FILE: B.java
|
||||
|
||||
abstract class B implements A {
|
||||
public abstract class B implements A {
|
||||
private int size = 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -9,8 +9,8 @@ public interface A {
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public/*package*/ abstract class B : A {
|
||||
public/*package*/ constructor B()
|
||||
public abstract class B : A {
|
||||
public constructor B()
|
||||
private final var size: kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// FILE: Bad.java
|
||||
|
||||
class Bad<T extends Bad> {}
|
||||
public class Bad<T extends Bad> {}
|
||||
|
||||
// FILE: X.java
|
||||
|
||||
class X {
|
||||
public class X {
|
||||
Bad foo() {return null;}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,15 +2,15 @@ package
|
||||
|
||||
public fun foo(/*0*/ p: X): Bad<(raw) Bad<*>!>!
|
||||
|
||||
public/*package*/ open class Bad</*0*/ T : Bad<(raw) Bad<*>>!> {
|
||||
public/*package*/ constructor Bad</*0*/ T : Bad<(raw) Bad<*>>!>()
|
||||
public open class Bad</*0*/ T : Bad<(raw) Bad<*>>!> {
|
||||
public constructor Bad</*0*/ T : Bad<(raw) Bad<*>>!>()
|
||||
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
|
||||
}
|
||||
|
||||
public/*package*/ open class X {
|
||||
public/*package*/ constructor X()
|
||||
public open class X {
|
||||
public constructor X()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public/*package*/ open fun foo(): Bad<(raw) Bad<*>!>!
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
|
||||
@@ -10,6 +10,6 @@ class K : J<String>(), ML<String>
|
||||
|
||||
import java.util.*;
|
||||
|
||||
class J<T> extends ML<T> {
|
||||
public class J<T> extends ML<T> {
|
||||
public List<T> foo() { return null; }
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package
|
||||
|
||||
public/*package*/ open class J</*0*/ T : kotlin.Any!> : ML<T!> {
|
||||
public/*package*/ constructor J</*0*/ T : kotlin.Any!>()
|
||||
public open class J</*0*/ T : kotlin.Any!> : ML<T!> {
|
||||
public constructor J</*0*/ T : kotlin.Any!>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ fun foo(): kotlin.MutableList<T!>
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
|
||||
Reference in New Issue
Block a user