Support single Java source files in kotlinc arguments
E.g. "kotlinc foo.kt test/Bar.java" will compile foo.kt, and declarations from Bar.java will be accessible to Kotlin code in foo.kt. The change in AbstractTopLevelMembersInvocationTest is needed because an incorrect configuration was created in that test where a library jar was also a Java source root (the compiler is never configured this way in production), which led to an exception in JavaCoreProjectEnvironment#addSourcesToClasspath #KT-17697 Fixed
This commit is contained in:
@@ -0,0 +1 @@
|
||||
public class DefaultPackage {}
|
||||
@@ -0,0 +1,5 @@
|
||||
package lib;
|
||||
|
||||
public class A {
|
||||
public B b() {}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package lib;
|
||||
|
||||
public class B {
|
||||
public C c() {}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package lib;
|
||||
|
||||
public class C {
|
||||
public A a() {}
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package lib.classKinds;
|
||||
|
||||
public @interface AnnotationClass {
|
||||
EnumClass value();
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
package lib.classKinds;
|
||||
|
||||
public class ClassClass {}
|
||||
@@ -0,0 +1,3 @@
|
||||
package lib.classKinds;
|
||||
|
||||
public enum EnumClass { ENTRY }
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package lib.classKinds;
|
||||
|
||||
public interface InterfaceClass {}
|
||||
@@ -0,0 +1,6 @@
|
||||
package lib. /* comment */ ext;
|
||||
|
||||
class
|
||||
PackageLocal1 {}
|
||||
|
||||
class /* comment */ PackageLocal2 {}
|
||||
@@ -0,0 +1,21 @@
|
||||
import lib.*
|
||||
import lib.ext.*
|
||||
import lib.classKinds.*
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
A().b()
|
||||
B().c()
|
||||
C().a()
|
||||
|
||||
DefaultPackage()
|
||||
|
||||
PackageLocal1()
|
||||
PackageLocal2()
|
||||
}
|
||||
|
||||
@AnnotationClass(EnumClass.ENTRY)
|
||||
fun classKinds(
|
||||
c: ClassClass,
|
||||
i: InterfaceClass,
|
||||
e: EnumClass
|
||||
) {}
|
||||
Reference in New Issue
Block a user