Add tests for lookups to declarations form Java
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
package bar;
|
||||
|
||||
import foo.I;
|
||||
|
||||
public class C implements I {
|
||||
@Override
|
||||
public void ifunc() {}
|
||||
|
||||
public int field = 1;
|
||||
public void func() {}
|
||||
public class B {}
|
||||
|
||||
public static String sfield = "";
|
||||
public static void sfunc() {}
|
||||
public static class S {}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package baz;
|
||||
|
||||
public enum E {
|
||||
F,
|
||||
S;
|
||||
|
||||
public int field = 1;
|
||||
public void func() {}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package foo;
|
||||
|
||||
public interface I {
|
||||
void ifunc();
|
||||
|
||||
static String isfield = "";
|
||||
static class IS {}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
Compiling files:
|
||||
src/usages.kt
|
||||
End of files
|
||||
COMPILATION FAILED
|
||||
Unresolved reference: IS
|
||||
@@ -0,0 +1,35 @@
|
||||
package foo
|
||||
|
||||
import bar./*p:bar*/C
|
||||
import baz.*
|
||||
|
||||
/*p:foo*/fun usages() {
|
||||
val c = /*p:foo p:baz p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/C()
|
||||
|
||||
c./*c:bar.C*/field
|
||||
c./*c:bar.C*/field = 2
|
||||
c./*c:bar.C*/func()
|
||||
c./*c:bar.C*/B()
|
||||
|
||||
/*p:foo p:baz p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/C./*c:bar.C*/sfield
|
||||
/*p:foo p:baz p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/C./*c:bar.C*/sfield = "new"
|
||||
/*p:foo p:baz p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/C./*c:bar.C*/sfunc()
|
||||
/*p:foo p:baz p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/C./*c:bar.C*/S()
|
||||
|
||||
// inherited from I
|
||||
c./*c:bar.C*/ifunc()
|
||||
/*p:foo p:baz p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/C./*c:bar.C*/isfield
|
||||
// expected error: Unresolved reference: IS
|
||||
/*p:foo p:baz p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/C./*c:bar.C*/IS()
|
||||
|
||||
|
||||
val i: /*p:foo*/I = c
|
||||
i./*c:foo.I*/ifunc()
|
||||
|
||||
/*p:foo p:baz p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/I./*c:foo.I*/isfield
|
||||
/*p:foo p:baz p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/I./*c:foo.I*/IS()
|
||||
|
||||
/*p:foo p:baz p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/E./*c:baz.E*/F
|
||||
/*p:foo p:baz p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/E./*c:baz.E*/F./*c:baz.E*/field
|
||||
/*p:foo p:baz p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/E./*c:baz.E*/S./*c:baz.E*/func()
|
||||
}
|
||||
Reference in New Issue
Block a user