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:
Mikhail Glukhikh
2015-10-01 21:10:50 +03:00
committed by Mikhail Glukhikh
parent fa32aa2950
commit 0cc861f00b
73 changed files with 965 additions and 108 deletions
@@ -1,18 +1,18 @@
// FILE: Base.java
interface Base {}
public interface Base {}
// FILE: Other.java
interface Other {}
public interface Other {}
// FILE: Derived.java
final class Derived<T> implements Base, Other {}
public final class Derived<T> implements Base, Other {}
// FILE: Exotic.java
final class Exotic implements Base, Other {
public final class Exotic implements Base, Other {
int x;
@@ -1,13 +1,13 @@
package
public/*package*/ interface Base {
public interface Base {
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*/ final class Derived</*0*/ T : kotlin.Any!> : Base, Other {
public/*package*/ constructor Derived</*0*/ T : kotlin.Any!>()
public final class Derived</*0*/ T : kotlin.Any!> : Base, Other {
public constructor Derived</*0*/ T : kotlin.Any!>()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
@@ -21,7 +21,7 @@ public final class DerivedWrapper : Wrapper<Derived<*>> {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public/*package*/ final class Exotic : Base, Other {
public final class Exotic : Base, Other {
public/*package*/ constructor Exotic(/*0*/ x: kotlin.Int)
public/*package*/ final var x: kotlin.Int
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -57,7 +57,7 @@ public object MyBase {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public/*package*/ interface Other {
public interface Other {
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