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| {
|
public final fun test(): R|kotlin/Unit| {
|
||||||
lval some: R|foo/Some| = R|foo/Some.Some|()
|
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() {
|
fun test() {
|
||||||
val some = Some()
|
val some = Some()
|
||||||
val another = <!UNRESOLVED_REFERENCE!>Another<!>()
|
val another = Another()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// IGNORE_BACKEND_FIR: JVM_IR
|
|
||||||
// FIR status: ARGUMENT_TYPE_MISMATCH on J.foo { ... }
|
|
||||||
// SAM_CONVERSIONS: CLASS
|
// SAM_CONVERSIONS: CLASS
|
||||||
// ^ test checks reflection for synthetic classes
|
// ^ test checks reflection for synthetic classes
|
||||||
// FILE: J.java
|
// 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 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
|
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*/ open class Outer {
|
||||||
public/*package*/ constructor Outer()
|
public/*package*/ constructor Outer()
|
||||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
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 hashCode(): kotlin.Int
|
||||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
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 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 open class My {
|
||||||
public constructor My()
|
public constructor My()
|
||||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
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 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 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 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
|
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
|
// Static members
|
||||||
public open fun getSettings(): (MySettings<(raw) *, (raw) MyComparableSettings!, (raw) MySettingsListener<MyComparableSettings!>!>..MySettings<*, *, out MySettingsListener<*>!>?)
|
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 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*/ 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/*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
|
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
|
// Static members
|
||||||
public open fun getSettings(): MySettings<*, *, *>!
|
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
|
// SKIP_JAVAC
|
||||||
// FILE: A.java
|
// FILE: A.java
|
||||||
public class A {
|
public class A {
|
||||||
@@ -20,7 +21,7 @@ class F {
|
|||||||
// FILE: main.kt
|
// FILE: main.kt
|
||||||
fun main(x: A) {
|
fun main(x: A) {
|
||||||
x.b().bar()
|
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 hashCode(): kotlin.Int
|
||||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
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
|
// FILE: test.kt
|
||||||
fun test() {
|
fun test() {
|
||||||
val t = X.E.<!UNRESOLVED_REFERENCE!>t<!>
|
val t = X.E.t
|
||||||
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 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*/ 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/*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
|
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
|
// FILE: test.kt
|
||||||
fun test() {
|
fun test() {
|
||||||
val t = X.E.<!UNRESOLVED_REFERENCE!>t<!>
|
val t = X.E.t
|
||||||
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 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*/ open class X</*0*/ B : I<B!>!> {
|
||||||
public/*package*/ constructor 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
|
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
|
// FILE: test.kt
|
||||||
fun test() {
|
fun test() {
|
||||||
val t = X.E.<!UNRESOLVED_REFERENCE!>t<!>
|
val t = X.E.t
|
||||||
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 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*/ open class X</*0*/ B : I<P!>!, /*1*/ P : kotlin.Any!> {
|
||||||
public/*package*/ constructor 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
|
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
|
// FILE: test.kt
|
||||||
fun test() {
|
fun test() {
|
||||||
val t = X.E.<!UNRESOLVED_REFERENCE!>t<!>
|
val t = X.E.t
|
||||||
t
|
t
|
||||||
t.<!UNRESOLVED_REFERENCE!>id<!> // error before
|
t.id // error before
|
||||||
}
|
}
|
||||||
|
|||||||
+20
@@ -2,6 +2,26 @@ package
|
|||||||
|
|
||||||
public fun test(): kotlin.Unit
|
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*/ 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/*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
|
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
|
// FILE: test.kt
|
||||||
fun test() {
|
fun test() {
|
||||||
val t = X.E.<!UNRESOLVED_REFERENCE!>t<!>
|
val t = X.E.t
|
||||||
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 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*/ 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/*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
|
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
|
// FILE: test.kt
|
||||||
fun test() {
|
fun test() {
|
||||||
val t = X.E.<!UNRESOLVED_REFERENCE!>t<!>
|
val t = X.E.t
|
||||||
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 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*/ 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/*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
|
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 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 open class Test : BaseOperation<(raw) Bar!, (raw) Foo<Bar!>!> {
|
||||||
public constructor Test()
|
public constructor Test()
|
||||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
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) {
|
fun test1(a: A) {
|
||||||
if (a is AImpl) {
|
if (a is AImpl) {
|
||||||
(a as A).b().bar() // OK
|
(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
|
// JAVAC_EXPECTED_FILE
|
||||||
// FILE: KotlinFile.kt
|
// FILE: KotlinFile.kt
|
||||||
fun foo(javaClass: JavaClass<String>): String {
|
fun foo(javaClass: JavaClass<String>): String {
|
||||||
|
|||||||
+7
@@ -2,6 +2,13 @@ package
|
|||||||
|
|
||||||
public fun foo(/*0*/ javaClass: JavaClass<kotlin.String>): kotlin.String
|
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 open class JavaClass</*0*/ T : kotlin.Any!> {
|
||||||
public constructor 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!
|
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
|
// JAVAC_EXPECTED_FILE
|
||||||
// FILE: KotlinFile.kt
|
// FILE: KotlinFile.kt
|
||||||
fun foo(javaClass: JavaClass): String {
|
fun foo(javaClass: JavaClass): String {
|
||||||
|
|||||||
+7
@@ -2,6 +2,13 @@ package
|
|||||||
|
|
||||||
public fun foo(/*0*/ javaClass: JavaClass): kotlin.String
|
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 open class JavaClass {
|
||||||
public constructor JavaClass()
|
public constructor JavaClass()
|
||||||
public open fun </*0*/ T : kotlin.Any!> doSomething(/*0*/ t: T!, /*1*/ i: I<T!>!): T!
|
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
|
// JAVAC_EXPECTED_FILE
|
||||||
// FILE: KotlinFile.kt
|
// FILE: KotlinFile.kt
|
||||||
fun foo(javaClass: JavaClass<Int>) {
|
fun foo(javaClass: JavaClass<Int>) {
|
||||||
|
|||||||
Vendored
+7
@@ -2,6 +2,13 @@ package
|
|||||||
|
|
||||||
public fun foo(/*0*/ javaClass: JavaClass<kotlin.Int>): kotlin.Unit
|
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 open class JavaClass</*0*/ X : kotlin.Any!> {
|
||||||
public constructor 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!
|
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
|
package org.jetbrains.kotlin.test.services.configuration
|
||||||
|
|
||||||
|
import com.intellij.ide.highlighter.JavaFileType
|
||||||
import com.intellij.openapi.util.SystemInfo
|
import com.intellij.openapi.util.SystemInfo
|
||||||
import com.intellij.psi.PsiJavaModule.MODULE_INFO_FILE
|
import com.intellij.psi.PsiJavaModule.MODULE_INFO_FILE
|
||||||
import org.jetbrains.kotlin.backend.common.phaser.PhaseConfig
|
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 }
|
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) {
|
if (javaSourceFiles.isNotEmpty() &&
|
||||||
javaSourceFiles.forEach { testServices.sourceFileProvider.getRealFileForSourceFile(it) }
|
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)
|
// TODO: temporary hack to provide java 9 modules in the source mode properly (see comment on ClasspathRootsResolved::addModularRoots)
|
||||||
addJavaCompiledModulesFromDependentKotlinModules(configuration, configurationKind, module, bySources = true)
|
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()) {
|
if (moduleInfoFiles.isNotEmpty()) {
|
||||||
addJavaSourceRootsByJavaModules(configuration, moduleInfoFiles)
|
addJavaSourceRootsByJavaModules(configuration, moduleInfoFiles)
|
||||||
} else {
|
} 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)
|
configuration.addJavaSourceRoot(testServices.sourceFileProvider.javaSourceDirectory)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user