CLI, Ant: add kotlin-reflect.jar to classpath by default, support "-no-reflect"

Note that now "-no-stdlib" implies "-no-reflect".

 #KT-13237 Fixed
This commit is contained in:
Alexander Udalov
2015-10-31 15:02:55 +03:00
parent 30fd22499b
commit 0d26087040
20 changed files with 128 additions and 27 deletions
+1
View File
@@ -6,6 +6,7 @@ where possible options include:
-jdk-home <path> Path to JDK home directory to include into classpath, if differs from default JAVA_HOME
-no-jdk Don't include Java runtime into classpath
-no-stdlib Don't include Kotlin runtime into classpath
-no-reflect Don't include Kotlin reflection implementation into classpath
-module <path> Path to the module file to compile
-script Evaluate the script file
-kotlin-home <path> Path to Kotlin compiler home directory, used for runtime libraries discovery
+4
View File
@@ -0,0 +1,4 @@
-no-reflect
$TESTDATA_DIR$/noReflect.kt
-d
$TEMP_DIR$
+6
View File
@@ -0,0 +1,6 @@
import kotlin.reflect.*
fun foo() {
String::class.primaryConstructor
listOf(42)
}
+4
View File
@@ -0,0 +1,4 @@
compiler/testData/cli/jvm/noReflect.kt:4:19: error: unresolved reference: primaryConstructor
String::class.primaryConstructor
^
COMPILATION_ERROR
+4
View File
@@ -0,0 +1,4 @@
-no-stdlib
$TESTDATA_DIR$/noStdlib.kt
-d
$TEMP_DIR$
+6
View File
@@ -0,0 +1,6 @@
import kotlin.reflect.*
fun foo() {
String::class.primaryConstructor
listOf(42)
}
+7
View File
@@ -0,0 +1,7 @@
compiler/testData/cli/jvm/noStdlib.kt:4:19: error: unresolved reference: primaryConstructor
String::class.primaryConstructor
^
compiler/testData/cli/jvm/noStdlib.kt:5:5: error: unresolved reference: listOf
listOf(42)
^
COMPILATION_ERROR
+1
View File
@@ -7,6 +7,7 @@ where possible options include:
-jdk-home <path> Path to JDK home directory to include into classpath, if differs from default JAVA_HOME
-no-jdk Don't include Java runtime into classpath
-no-stdlib Don't include Kotlin runtime into classpath
-no-reflect Don't include Kotlin reflection implementation into classpath
-module <path> Path to the module file to compile
-script Evaluate the script file
-kotlin-home <path> Path to Kotlin compiler home directory, used for runtime libraries discovery
@@ -0,0 +1,6 @@
package test;
import kotlin.reflect.KClassesKt;
import kotlin.Unit;
public class J {}
@@ -0,0 +1,22 @@
OUT:
Buildfile: [TestData]/build.xml
build:
[mkdir] Created dir: [Temp]/classes
[javac] Compiling 1 source file to [Temp]/classes
[javac] Running javac...
[javac] [TestData]/J.java:3: cannot find symbol
[javac] symbol : class KClassesKt
[javac] location: package kotlin.reflect
[javac] import kotlin.reflect.KClassesKt;
[javac] ^
[javac] 1 error
ERR:
BUILD FAILED
[TestData]/build.xml:6: Compile failed; see the compiler error output for details.
Total time: [time]
Return code: 1
@@ -0,0 +1,12 @@
<project name="Ant Task Test" default="build">
<taskdef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${kotlin.lib}/kotlin-ant.jar"/>
<target name="build">
<mkdir dir="${temp}/classes"/>
<javac srcdir="${test.data}" destdir="${temp}/classes" includeantruntime="false">
<withKotlin>
<compilerarg value="-no-reflect"/>
</withKotlin>
</javac>
</target>
</project>