Load Java static members from parents

This commit is contained in:
Zalim Bashorov
2015-10-05 19:16:03 +03:00
parent d90585624f
commit ae2831338b
40 changed files with 843 additions and 2 deletions
@@ -0,0 +1,36 @@
// FILE: A.java
class A {
private static int a = 1;
private static void foo() {}
protected static int b = 1;
protected static void bar() {}
}
// FILE: B.java
class B extends A {
public static int a = 1;
public static void foo() {}
public static void foo(int i) {}
public static int b = 1;
public static void bar() {}
public static void bar(int i) {}
}
// FILE: test.kt
fun test() {
A.<!INVISIBLE_MEMBER!>a<!>
A.<!INVISIBLE_MEMBER!>foo<!>()
A.b
A.bar()
B.a
B.foo()
B.foo(1)
B.b
B.bar()
B.bar(1)
}
@@ -0,0 +1,31 @@
package
public fun test(): kotlin.Unit
public/*package*/ open class A {
public/*package*/ 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
// Static members
private final var a: kotlin.Int
protected/*protected static*/ final var b: kotlin.Int
protected/*protected static*/ open fun bar(): kotlin.Unit
private open fun foo(): kotlin.Unit
}
public/*package*/ open class B : A {
public/*package*/ constructor B()
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 a: kotlin.Int
public final override /*1*/ var b: kotlin.Int
public open override /*1*/ fun bar(): kotlin.Unit
public open fun bar(/*0*/ i: kotlin.Int): kotlin.Unit
public open fun foo(): kotlin.Unit
public open fun foo(/*0*/ i: kotlin.Int): kotlin.Unit
}
@@ -0,0 +1,43 @@
// FILE: I.java
public interface I {
int a = 1;
}
// FILE: C.java
public class C implements I {
static int b = 1;
static void bar() {}
}
// FILE: K.kt
open class K : C()
// FILE: D.java
public class D extends K {
static int c = 1;
static void baz() {}
}
// FILE: test.kt
fun test() {
I.a
C.a
C.b
C.bar()
K.<!UNRESOLVED_REFERENCE!>a<!>
K.<!UNRESOLVED_REFERENCE!>b<!>
K.<!UNRESOLVED_REFERENCE!>bar<!>()
D.a
D.b
D.c
D.bar()
D.baz()
}
@@ -0,0 +1,45 @@
package
public fun test(): kotlin.Unit
public open class C : I {
public constructor C()
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 const final override /*1*/ /*fake_override*/ val a: kotlin.Int
public/*package*/ final var b: kotlin.Int
public/*package*/ open fun bar(): kotlin.Unit
}
public open class D : K {
public constructor D()
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 const final override /*1*/ /*fake_override*/ val a: kotlin.Int
public/*package*/ final override /*1*/ /*fake_override*/ var b: kotlin.Int
public/*package*/ final var c: kotlin.Int
public/*package*/ open override /*1*/ /*fake_override*/ fun bar(): kotlin.Unit
public/*package*/ open fun baz(): kotlin.Unit
}
public interface I {
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 const final val a: kotlin.Int = 1
}
public open class K : C {
public constructor K()
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
}
@@ -0,0 +1,37 @@
// FILE: K.kt
open class K {
companion object {
fun foo() {}
}
}
// FILE: D.java
class D extends K {
static int b = 1;
static void bar() {}
}
// FILE: K.kt
class K2 {
companion object {
fun baz() {}
}
}
// FILE: test.kt
fun test() {
K.foo()
D.b
D.bar()
D.<!UNRESOLVED_REFERENCE!>foo<!>()
K2.<!UNRESOLVED_REFERENCE!>b<!>
K2.<!UNRESOLVED_REFERENCE!>bar<!>()
K2.<!UNRESOLVED_REFERENCE!>foo<!>()
K2.baz()
}
@@ -0,0 +1,44 @@
package
public fun test(): kotlin.Unit
public/*package*/ open class D : K {
public/*package*/ constructor D()
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 b: kotlin.Int
public/*package*/ open fun bar(): kotlin.Unit
}
public open class K {
public constructor K()
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 companion object Companion {
private constructor Companion()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
public final class K2 {
public constructor K2()
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 companion object Companion {
private constructor Companion()
public final fun baz(): 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
}
}
@@ -0,0 +1,55 @@
// FILE: I.java
public interface I {
int a = 1;
}
// FILE: C.java
public class C implements I {
static int b = 1;
static void bar() {}
}
// FILE: K.kt
open class K : C(), I
// FILE: D.java
public class D extends K, I {
static int c = 1;
static void baz() {}
}
// FILE: E.java
public class E extends D, I {
static int a = 1;
}
// FILE: test.kt
fun test() {
I.a
C.a
C.b
C.bar()
K.<!UNRESOLVED_REFERENCE!>a<!>
K.<!UNRESOLVED_REFERENCE!>b<!>
K.<!UNRESOLVED_REFERENCE!>bar<!>()
D.a
D.b
D.c
D.bar()
D.baz()
E.a
E.b
E.c
E.bar()
E.baz()
}
@@ -0,0 +1,59 @@
package
public fun test(): kotlin.Unit
public open class C : I {
public constructor C()
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 const final override /*1*/ /*fake_override*/ val a: kotlin.Int
public/*package*/ final var b: kotlin.Int
public/*package*/ open fun bar(): kotlin.Unit
}
public open class D : K, I {
public constructor D()
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
// Static members
public const final override /*2*/ /*fake_override*/ val a: kotlin.Int
public/*package*/ final override /*1*/ /*fake_override*/ var b: kotlin.Int
public/*package*/ final var c: kotlin.Int
public/*package*/ open override /*1*/ /*fake_override*/ fun bar(): kotlin.Unit
public/*package*/ open fun baz(): kotlin.Unit
}
public open class E : D, I {
public constructor E()
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
// Static members
public/*package*/ final override /*2*/ var a: kotlin.Int
public/*package*/ final override /*1*/ /*fake_override*/ var b: kotlin.Int
public/*package*/ final override /*1*/ /*fake_override*/ var c: kotlin.Int
public/*package*/ open override /*1*/ /*fake_override*/ fun bar(): kotlin.Unit
public/*package*/ open override /*1*/ /*fake_override*/ fun baz(): kotlin.Unit
}
public interface I {
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 const final val a: kotlin.Int = 1
}
public open class K : C, I {
public constructor K()
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
}