Fix visibility checker for import.

This commit is contained in:
Stanislav Erokhin
2015-09-18 17:16:41 +03:00
parent e5334ed9b8
commit 1360f3cd43
9 changed files with 257 additions and 14 deletions
@@ -0,0 +1,73 @@
// FILE: j/JavaPublic.java
package j;
public class JavaPublic {
public static void javaM() {}
public static int javaP = 4;
static int javaPackageLocal = 5;
}
// FILE: j/JavaPackageLocal.java
package j;
class JavaPackageLocal {
static void javaMPackage() {}
static int javaPPackage = 4;
}
// FILE: j/JavaProtected.java
package j;
public class JavaProtected {
protected static void javaMProtected() {}
protected static int javaPProtected = 4;
}
// FILE: j/JavaPrivate.java
package j;
public class JavaPrivate {
private static void javaMPrivate() {}
private static int javaPPrivate = 4;
}
// FILE: k1.kt
package k
import j.JavaPublic
import j.JavaPublic.javaM
import j.JavaPublic.javaP
import j.JavaPublic.<!INVISIBLE_REFERENCE!>javaPackageLocal<!>
import j.<!INVISIBLE_REFERENCE!>JavaPackageLocal<!>
import j.<!INVISIBLE_REFERENCE!>JavaPackageLocal<!>.<!INVISIBLE_REFERENCE!>javaMPackage<!>
import j.<!INVISIBLE_REFERENCE!>JavaPackageLocal<!>.<!INVISIBLE_REFERENCE!>javaPPackage<!>
import j.JavaProtected
import j.JavaProtected.javaMProtected
import j.JavaProtected.javaPProtected
import j.JavaPrivate
import j.JavaPrivate.<!INVISIBLE_REFERENCE!>javaMPrivate<!>
import j.JavaPrivate.<!INVISIBLE_REFERENCE!>javaPPrivate<!>
// FILE: k2.kt
package j
import j.JavaPublic
import j.JavaPublic.javaM
import j.JavaPublic.javaP
import j.JavaPublic.javaPackageLocal
import j.JavaPackageLocal
import j.JavaPackageLocal.javaMPackage
import j.JavaPackageLocal.javaPPackage
import j.JavaProtected
import j.JavaProtected.javaMProtected
import j.JavaProtected.javaPProtected
import j.JavaPrivate
import j.JavaPrivate.<!INVISIBLE_REFERENCE!>javaMPrivate<!>
import j.JavaPrivate.<!INVISIBLE_REFERENCE!>javaPPrivate<!>
@@ -0,0 +1,52 @@
package
package j {
public/*package*/ open class JavaPackageLocal {
public/*package*/ constructor JavaPackageLocal()
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/*package*/ final var javaPPackage: kotlin.Int
public/*package*/ open fun javaMPackage(): kotlin.Unit
}
public open class JavaPrivate {
public constructor JavaPrivate()
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
private final var javaPPrivate: kotlin.Int
private open fun javaMPrivate(): kotlin.Unit
}
public open class JavaProtected {
public constructor JavaProtected()
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
protected/*protected static*/ final var javaPProtected: kotlin.Int
protected/*protected static*/ open fun javaMProtected(): kotlin.Unit
}
public open class JavaPublic {
public constructor JavaPublic()
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 var javaP: kotlin.Int
public/*package*/ final var javaPackageLocal: kotlin.Int
public open fun javaM(): kotlin.Unit
}
}
package k {
}
@@ -0,0 +1,28 @@
// MODULE: m1
// FILE: k1.kt
package k
private class KPrivate
internal class KInternal
public class KPublic
class A {
protected class KProtected
}
// FILE: k2.kt
package k2
import k.<!INVISIBLE_REFERENCE!>KPrivate<!>
import k.KInternal
import k.KPublic
import k.A.KProtected
// MODULE: m2(m1)
// FILE: k3.kt
package k3
import k.<!INVISIBLE_REFERENCE!>KPrivate<!>
import k.<!INVISIBLE_REFERENCE!>KInternal<!>
import k.KPublic
import k.A.KProtected
@@ -0,0 +1,74 @@
// -- Module: <m1> --
package
package k {
public final class A {
public constructor A()
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
protected final class KProtected {
public constructor KProtected()
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
}
}
internal final class KInternal {
public constructor KInternal()
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
}
private final class KPrivate {
public constructor KPrivate()
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 final class KPublic {
public constructor KPublic()
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 k2 {
}
// -- Module: <m2> --
package
package k {
public final class A {
// -- Module: <m1> --
}
internal final class KInternal {
// -- Module: <m1> --
}
private final class KPrivate {
// -- Module: <m1> --
}
public final class KPublic {
// -- Module: <m1> --
}
}
package k2 {
}
package k3 {
}