Test: add java source files as JavaSourceRoot
so that those can be properly populated in SingleJavaRootsIndex
This commit is contained in:
committed by
Ilya Kirillov
parent
cb2a54cef8
commit
a2da690afd
+1
-1
@@ -3,5 +3,5 @@ FILE: main.kt
|
||||
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
lval some: R|foo/Some| = R|foo/Some.Some|()
|
||||
lval another: <ERROR TYPE REF: Unresolved name: Another> = <Unresolved name: Another>#()
|
||||
lval another: R|foo/Another| = R|foo/Another.Another|()
|
||||
}
|
||||
|
||||
+1
-1
@@ -11,5 +11,5 @@ package foo
|
||||
|
||||
fun test() {
|
||||
val some = Some()
|
||||
val another = <!UNRESOLVED_REFERENCE!>Another<!>()
|
||||
val another = Another()
|
||||
}
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// FIR status: ARGUMENT_TYPE_MISMATCH on J.foo { ... }
|
||||
// SAM_CONVERSIONS: CLASS
|
||||
// ^ test checks reflection for synthetic classes
|
||||
// FILE: J.java
|
||||
|
||||
Vendored
+19
@@ -46,3 +46,22 @@ public/*package*/ open class AnnotatedTypeArguments {
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
|
||||
public/*package*/ interface L</*0*/ T : kotlin.Any!> {
|
||||
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*/ interface P</*0*/ X : kotlin.Any!, /*1*/ Y : kotlin.Any!> {
|
||||
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*/ interface S</*0*/ T : kotlin.Any!> {
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
Vendored
+12
@@ -43,3 +43,15 @@ public/*package*/ open class Outer {
|
||||
}
|
||||
}
|
||||
|
||||
public/*package*/ interface X</*0*/ T : kotlin.Any!> {
|
||||
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*/ interface Y</*0*/ T : kotlin.Any!> {
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
+12
@@ -1,5 +1,17 @@
|
||||
package
|
||||
|
||||
public/*package*/ interface Base</*0*/ T : kotlin.Any!> {
|
||||
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*/ interface Derived</*0*/ E : kotlin.Any!> : Base<E!> {
|
||||
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 Outer {
|
||||
public/*package*/ constructor Outer()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
Vendored
+8
@@ -36,3 +36,11 @@ public final class D : C {
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
@kotlin.annotation.Retention(value = AnnotationRetention.RUNTIME) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER}) @javax.annotation.meta.TypeQualifier /* annotation class not found */ public final annotation class MyTypeQualifier : kotlin.Annotation {
|
||||
public constructor MyTypeQualifier()
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,13 @@ package test {
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public/*package*/ open class Internal {
|
||||
public/*package*/ constructor Internal()
|
||||
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 open class My {
|
||||
public constructor My()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
Vendored
+16
@@ -2,6 +2,14 @@ package
|
||||
|
||||
public fun test(): kotlin.Unit
|
||||
|
||||
public/*package*/ abstract class MyComparableSettings : kotlin.Comparable<MyComparableSettings!> {
|
||||
public/*package*/ constructor MyComparableSettings()
|
||||
public abstract override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: MyComparableSettings!): kotlin.Int
|
||||
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 open class MySettings</*0*/ SS : MySettings<SS!, PS!, L!>!, /*1*/ PS : MyComparableSettings!, /*2*/ L : MySettingsListener<PS!>!> {
|
||||
public constructor MySettings</*0*/ SS : MySettings<SS!, PS!, L!>!, /*1*/ PS : MyComparableSettings!, /*2*/ L : MySettingsListener<PS!>!>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@@ -12,3 +20,11 @@ public open class MySettings</*0*/ SS : MySettings<SS!, PS!, L!>!, /*1*/ PS : My
|
||||
// Static members
|
||||
public open fun getSettings(): (MySettings<(raw) *, (raw) MyComparableSettings!, (raw) MySettingsListener<MyComparableSettings!>!>..MySettings<*, *, out MySettingsListener<*>!>?)
|
||||
}
|
||||
|
||||
public/*package*/ abstract class MySettingsListener</*0*/ S : MyComparableSettings!> {
|
||||
public/*package*/ constructor MySettingsListener</*0*/ S : MyComparableSettings!>()
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
+16
@@ -2,6 +2,14 @@ package
|
||||
|
||||
public fun test(): kotlin.Unit
|
||||
|
||||
public/*package*/ abstract class MyComparableSettings : kotlin.Comparable<MyComparableSettings!> {
|
||||
public/*package*/ constructor MyComparableSettings()
|
||||
public abstract override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: MyComparableSettings!): kotlin.Int
|
||||
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 MySettings</*0*/ SS : MySettings<SS!, PS!, L!>!, /*1*/ PS : MyComparableSettings!, /*2*/ L : MySettingsListener<PS!>!> {
|
||||
public/*package*/ constructor MySettings</*0*/ SS : MySettings<SS!, PS!, L!>!, /*1*/ PS : MyComparableSettings!, /*2*/ L : MySettingsListener<PS!>!>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@@ -12,3 +20,11 @@ public/*package*/ open class MySettings</*0*/ SS : MySettings<SS!, PS!, L!>!, /*
|
||||
// Static members
|
||||
public open fun getSettings(): MySettings<*, *, *>!
|
||||
}
|
||||
|
||||
public/*package*/ abstract class MySettingsListener</*0*/ S : MyComparableSettings!> {
|
||||
public/*package*/ constructor MySettingsListener</*0*/ S : MyComparableSettings!>()
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
// SKIP_JAVAC
|
||||
// FILE: A.java
|
||||
public class A {
|
||||
public B b() {}
|
||||
public F f() {}
|
||||
}
|
||||
|
||||
class B { public void bar() {} }
|
||||
|
||||
// FILE: C.java
|
||||
class D {
|
||||
public void baz() {}
|
||||
}
|
||||
|
||||
// FILE: E.java
|
||||
class F {
|
||||
public void foobaz() {}
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
fun main(x: A) {
|
||||
x.b().<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
x.f().<!UNRESOLVED_REFERENCE!>foobaz<!>()
|
||||
|
||||
<!UNRESOLVED_REFERENCE!>D<!>().baz()
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// SKIP_JAVAC
|
||||
// FILE: A.java
|
||||
public class A {
|
||||
@@ -20,7 +21,7 @@ class F {
|
||||
// FILE: main.kt
|
||||
fun main(x: A) {
|
||||
x.b().bar()
|
||||
x.<!MISSING_DEPENDENCY_CLASS!>f<!>().<!UNRESOLVED_REFERENCE!>foobaz<!>()
|
||||
x.f().foobaz()
|
||||
|
||||
<!UNRESOLVED_REFERENCE!>D<!>().<!DEBUG_INFO_MISSING_UNRESOLVED!>baz<!>()
|
||||
D().baz()
|
||||
}
|
||||
|
||||
@@ -10,3 +10,28 @@ public open class A {
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public/*package*/ open class B {
|
||||
public/*package*/ constructor B()
|
||||
public open fun bar(): 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
|
||||
}
|
||||
|
||||
public/*package*/ open class D {
|
||||
public/*package*/ constructor D()
|
||||
public open 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
|
||||
}
|
||||
|
||||
public/*package*/ open class F {
|
||||
public/*package*/ constructor F()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open fun foobaz(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ interface I<P, L> {}
|
||||
|
||||
// FILE: test.kt
|
||||
fun test() {
|
||||
val t = X.E.<!UNRESOLVED_REFERENCE!>t<!>
|
||||
val t = X.E.t
|
||||
t
|
||||
t.<!UNRESOLVED_REFERENCE!>id<!> // should be OK
|
||||
t.id // should be OK
|
||||
}
|
||||
|
||||
+14
@@ -2,6 +2,20 @@ package
|
||||
|
||||
public fun test(): kotlin.Unit
|
||||
|
||||
public/*package*/ open class E</*0*/ T : kotlin.Any!> {
|
||||
public/*package*/ constructor E</*0*/ T : kotlin.Any!>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public/*package*/ open fun getT(): T!
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public/*package*/ interface I</*0*/ P : kotlin.Any!, /*1*/ L : kotlin.Any!> {
|
||||
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</*0*/ B : I<P!, B!>!, /*1*/ P : kotlin.Any!> {
|
||||
public/*package*/ constructor X</*0*/ B : I<P!, B!>!, /*1*/ P : kotlin.Any!>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ interface I<P> {}
|
||||
|
||||
// FILE: test.kt
|
||||
fun test() {
|
||||
val t = X.E.<!UNRESOLVED_REFERENCE!>t<!>
|
||||
val t = X.E.t
|
||||
t
|
||||
t.<!UNRESOLVED_REFERENCE!>id<!> // should be OK
|
||||
t.id // should be OK
|
||||
}
|
||||
|
||||
+14
@@ -2,6 +2,20 @@ package
|
||||
|
||||
public fun test(): kotlin.Unit
|
||||
|
||||
public/*package*/ open class E</*0*/ T : kotlin.Any!> {
|
||||
public/*package*/ constructor E</*0*/ T : kotlin.Any!>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public/*package*/ open fun getT(): T!
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public/*package*/ interface I</*0*/ P : kotlin.Any!> {
|
||||
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</*0*/ B : I<B!>!> {
|
||||
public/*package*/ constructor X</*0*/ B : I<B!>!>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ interface I<P> {}
|
||||
|
||||
// FILE: test.kt
|
||||
fun test() {
|
||||
val t = X.E.<!UNRESOLVED_REFERENCE!>t<!>
|
||||
val t = X.E.t
|
||||
t
|
||||
t.<!UNRESOLVED_REFERENCE!>id<!> // should be OK
|
||||
t.id // should be OK
|
||||
}
|
||||
|
||||
Vendored
+14
@@ -2,6 +2,20 @@ package
|
||||
|
||||
public fun test(): kotlin.Unit
|
||||
|
||||
public/*package*/ open class E</*0*/ T : kotlin.Any!> {
|
||||
public/*package*/ constructor E</*0*/ T : kotlin.Any!>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public/*package*/ open fun getT(): T!
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public/*package*/ interface I</*0*/ P : kotlin.Any!> {
|
||||
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</*0*/ B : I<P!>!, /*1*/ P : kotlin.Any!> {
|
||||
public/*package*/ constructor X</*0*/ B : I<P!>!, /*1*/ P : kotlin.Any!>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
+2
-2
@@ -21,7 +21,7 @@ interface I2<S> {}
|
||||
|
||||
// FILE: test.kt
|
||||
fun test() {
|
||||
val t = X.E.<!UNRESOLVED_REFERENCE!>t<!>
|
||||
val t = X.E.t
|
||||
t
|
||||
t.<!UNRESOLVED_REFERENCE!>id<!> // error before
|
||||
t.id // error before
|
||||
}
|
||||
|
||||
+20
@@ -2,6 +2,26 @@ package
|
||||
|
||||
public fun test(): kotlin.Unit
|
||||
|
||||
public/*package*/ open class E</*0*/ T : kotlin.Any!> {
|
||||
public/*package*/ constructor E</*0*/ T : kotlin.Any!>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public/*package*/ open fun getT(): T!
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public/*package*/ interface I1</*0*/ P : kotlin.Any!, /*1*/ A : kotlin.Any!, /*2*/ F : kotlin.Any!> {
|
||||
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*/ interface I2</*0*/ S : kotlin.Any!> {
|
||||
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</*0*/ B : I1<P!, P!, P!>!, /*1*/ P : kotlin.Any!, /*2*/ A : I1<I2<B!>!, B!, I1<P!, I2<B!>!, P!>!>!> {
|
||||
public/*package*/ constructor X</*0*/ B : I1<P!, P!, P!>!, /*1*/ P : kotlin.Any!, /*2*/ A : I1<I2<B!>!, B!, I1<P!, I2<B!>!, P!>!>!>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ interface I<P> {}
|
||||
|
||||
// FILE: test.kt
|
||||
fun test() {
|
||||
val t = X.E.<!UNRESOLVED_REFERENCE!>t<!>
|
||||
val t = X.E.t
|
||||
t
|
||||
t.<!UNRESOLVED_REFERENCE!>id<!> // should be OK
|
||||
t.id // should be OK
|
||||
}
|
||||
|
||||
+14
@@ -2,6 +2,20 @@ package
|
||||
|
||||
public fun test(): kotlin.Unit
|
||||
|
||||
public/*package*/ open class E</*0*/ T : kotlin.Any!> {
|
||||
public/*package*/ constructor E</*0*/ T : kotlin.Any!>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public/*package*/ open fun getT(): T!
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public/*package*/ interface I</*0*/ P : kotlin.Any!> {
|
||||
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</*0*/ B : I<P!>!, /*1*/ P : kotlin.Any!, /*2*/ A : I<B!>!> {
|
||||
public/*package*/ constructor X</*0*/ B : I<P!>!, /*1*/ P : kotlin.Any!, /*2*/ A : I<B!>!>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ interface I<P> {}
|
||||
|
||||
// FILE: test.kt
|
||||
fun test() {
|
||||
val t = X.E.<!UNRESOLVED_REFERENCE!>t<!>
|
||||
val t = X.E.t
|
||||
t
|
||||
t.<!UNRESOLVED_REFERENCE!>id<!> // should be OK
|
||||
t.id // should be OK
|
||||
}
|
||||
|
||||
+14
@@ -2,6 +2,20 @@ package
|
||||
|
||||
public fun test(): kotlin.Unit
|
||||
|
||||
public/*package*/ open class E</*0*/ T : kotlin.Any!> {
|
||||
public/*package*/ constructor E</*0*/ T : kotlin.Any!>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public/*package*/ open fun getT(): T!
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public/*package*/ interface I</*0*/ P : kotlin.Any!> {
|
||||
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</*0*/ B : I<P!>!, /*1*/ P : kotlin.Any!, /*2*/ A : I<P!>!> {
|
||||
public/*package*/ constructor X</*0*/ B : I<P!>!, /*1*/ P : kotlin.Any!, /*2*/ A : I<P!>!>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
+21
@@ -2,6 +2,27 @@ package
|
||||
|
||||
public fun main(): kotlin.Unit
|
||||
|
||||
public/*package*/ open class Bar {
|
||||
public/*package*/ constructor Bar()
|
||||
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 BaseOperation</*0*/ T : Bar!, /*1*/ L : Foo<T!>!> {
|
||||
public/*package*/ constructor BaseOperation</*0*/ T : Bar!, /*1*/ L : Foo<T!>!>()
|
||||
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 Foo</*0*/ E : Bar!> {
|
||||
public/*package*/ constructor Foo</*0*/ E : Bar!>()
|
||||
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 open class Test : BaseOperation<(raw) Bar!, (raw) Foo<Bar!>!> {
|
||||
public constructor Test()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
@@ -33,7 +33,7 @@ import a.AImpl
|
||||
fun test1(a: A) {
|
||||
if (a is AImpl) {
|
||||
(a as A).b().bar() // OK
|
||||
a.b().<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
a.b().<!INVISIBLE_REFERENCE!>bar<!>()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-14
@@ -1,14 +0,0 @@
|
||||
// JAVAC_EXPECTED_FILE
|
||||
// FILE: KotlinFile.kt
|
||||
fun foo(javaClass: JavaClass<String>): String {
|
||||
return javaClass.doSomething("", 1) <!ARGUMENT_TYPE_MISMATCH!>{ s: String -> "" }<!>
|
||||
}
|
||||
|
||||
// FILE: JavaClass.java
|
||||
public class JavaClass<T> {
|
||||
public T doSomething(T t, int anInt, I<T> i) { return t; }
|
||||
}
|
||||
|
||||
interface I<T> {
|
||||
T doIt(T t);
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// JAVAC_EXPECTED_FILE
|
||||
// FILE: KotlinFile.kt
|
||||
fun foo(javaClass: JavaClass<String>): String {
|
||||
|
||||
+7
@@ -2,6 +2,13 @@ package
|
||||
|
||||
public fun foo(/*0*/ javaClass: JavaClass<kotlin.String>): kotlin.String
|
||||
|
||||
public/*package*/ interface I</*0*/ T : kotlin.Any!> {
|
||||
public abstract fun doIt(/*0*/ t: T!): T!
|
||||
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 open class JavaClass</*0*/ T : kotlin.Any!> {
|
||||
public constructor JavaClass</*0*/ T : kotlin.Any!>()
|
||||
public open fun doSomething(/*0*/ t: T!, /*1*/ anInt: kotlin.Int, /*2*/ i: I<T!>!): T!
|
||||
|
||||
-14
@@ -1,14 +0,0 @@
|
||||
// JAVAC_EXPECTED_FILE
|
||||
// FILE: KotlinFile.kt
|
||||
fun foo(javaClass: JavaClass): String {
|
||||
return javaClass.doSomething("") <!ARGUMENT_TYPE_MISMATCH!>{ <!ARGUMENT_TYPE_MISMATCH, UNRESOLVED_REFERENCE!>it<!> }<!>
|
||||
}
|
||||
|
||||
// FILE: JavaClass.java
|
||||
public class JavaClass {
|
||||
public <T> T doSomething(T t, I<T> i) { return i.run(t); }
|
||||
}
|
||||
|
||||
interface I<T> {
|
||||
T run(T t);
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// JAVAC_EXPECTED_FILE
|
||||
// FILE: KotlinFile.kt
|
||||
fun foo(javaClass: JavaClass): String {
|
||||
|
||||
+7
@@ -2,6 +2,13 @@ package
|
||||
|
||||
public fun foo(/*0*/ javaClass: JavaClass): kotlin.String
|
||||
|
||||
public/*package*/ interface I</*0*/ T : kotlin.Any!> {
|
||||
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 abstract fun run(/*0*/ t: T!): T!
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public open class JavaClass {
|
||||
public constructor JavaClass()
|
||||
public open fun </*0*/ T : kotlin.Any!> doSomething(/*0*/ t: T!, /*1*/ i: I<T!>!): T!
|
||||
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
// JAVAC_EXPECTED_FILE
|
||||
// FILE: KotlinFile.kt
|
||||
fun foo(javaClass: JavaClass<Int>) {
|
||||
val a: String = javaClass.doSomething1("", 1) <!ARGUMENT_TYPE_MISMATCH!>{ p: String -> p }<!>
|
||||
val b: String = javaClass.doSomething2("", 1, true) <!ARGUMENT_TYPE_MISMATCH!>{ p: Int -> p }<!>
|
||||
}
|
||||
|
||||
// FILE: JavaClass.java
|
||||
public class JavaClass<X> {
|
||||
public <T> T doSomething1(T t, X x, I<T> i) { return i.run(t); }
|
||||
public <T> T doSomething2(T t, X x, boolean p, I<X> i) { return i.run(t); }
|
||||
}
|
||||
|
||||
interface I<T> {
|
||||
T run(T t);
|
||||
}
|
||||
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// JAVAC_EXPECTED_FILE
|
||||
// FILE: KotlinFile.kt
|
||||
fun foo(javaClass: JavaClass<Int>) {
|
||||
|
||||
Vendored
+7
@@ -2,6 +2,13 @@ package
|
||||
|
||||
public fun foo(/*0*/ javaClass: JavaClass<kotlin.Int>): kotlin.Unit
|
||||
|
||||
public/*package*/ interface I</*0*/ T : kotlin.Any!> {
|
||||
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 abstract fun run(/*0*/ t: T!): T!
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public open class JavaClass</*0*/ X : kotlin.Any!> {
|
||||
public constructor JavaClass</*0*/ X : kotlin.Any!>()
|
||||
public open fun </*0*/ T : kotlin.Any!> doSomething1(/*0*/ t: T!, /*1*/ x: X!, /*2*/ i: I<T!>!): T!
|
||||
|
||||
+17
-4
@@ -5,6 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.test.services.configuration
|
||||
|
||||
import com.intellij.ide.highlighter.JavaFileType
|
||||
import com.intellij.openapi.util.SystemInfo
|
||||
import com.intellij.psi.PsiJavaModule.MODULE_INFO_FILE
|
||||
import org.jetbrains.kotlin.backend.common.phaser.PhaseConfig
|
||||
@@ -217,17 +218,29 @@ class JvmEnvironmentConfigurator(testServices: TestServices) : EnvironmentConfig
|
||||
|
||||
val javaSourceFiles = module.javaFiles.filter { INCLUDE_JAVA_AS_BINARY !in it.directives }
|
||||
|
||||
if (javaSourceFiles.isNotEmpty() && JvmEnvironmentConfigurationDirectives.SKIP_JAVA_SOURCES !in module.directives && ALL_JAVA_AS_BINARY !in registeredDirectives) {
|
||||
javaSourceFiles.forEach { testServices.sourceFileProvider.getRealFileForSourceFile(it) }
|
||||
if (javaSourceFiles.isNotEmpty() &&
|
||||
JvmEnvironmentConfigurationDirectives.SKIP_JAVA_SOURCES !in module.directives &&
|
||||
ALL_JAVA_AS_BINARY !in registeredDirectives
|
||||
) {
|
||||
// NB: [getRealFileForSourceFile] is misleading, since it actually creates a real file from the given test file as well.
|
||||
val realSourceFileMap = javaSourceFiles.associateWith { testServices.sourceFileProvider.getRealFileForSourceFile(it) }
|
||||
|
||||
// TODO: temporary hack to provide java 9 modules in the source mode properly (see comment on ClasspathRootsResolved::addModularRoots)
|
||||
addJavaCompiledModulesFromDependentKotlinModules(configuration, configurationKind, module, bySources = true)
|
||||
|
||||
val moduleInfoFiles = javaSourceFiles.filter { it.name == MODULE_INFO_FILE }
|
||||
|
||||
val (moduleInfoFiles, sourceFiles) = javaSourceFiles.partition { it.name == MODULE_INFO_FILE }
|
||||
if (moduleInfoFiles.isNotEmpty()) {
|
||||
addJavaSourceRootsByJavaModules(configuration, moduleInfoFiles)
|
||||
} else {
|
||||
sourceFiles.forEach l@{ testFile ->
|
||||
val file = realSourceFileMap[testFile] ?: return@l
|
||||
if (JvmEnvironmentConfigurationDirectives.USE_JAVAC !in module.directives &&
|
||||
!file.isDirectory &&
|
||||
file.extension == JavaFileType.DEFAULT_EXTENSION
|
||||
) {
|
||||
configuration.addJavaSourceRoot(file)
|
||||
}
|
||||
}
|
||||
configuration.addJavaSourceRoot(testServices.sourceFileProvider.javaSourceDirectory)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user