From 3298649bd714c18d0a24dee2a81097c5b0641679 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 17 Aug 2016 13:08:41 +0300 Subject: [PATCH] Support "-no-reflect" in "kotlin" command #KT-13491 Fixed --- .../src/org/jetbrains/kotlin/runner/Main.kt | 13 ++++++++++--- compiler/testData/launcher/reflectionUsage.kt | 11 +++++++++++ .../jetbrains/kotlin/cli/LauncherScriptTest.kt | 18 +++++++++++++++++- 3 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 compiler/testData/launcher/reflectionUsage.kt diff --git a/compiler/cli/cli-runner/src/org/jetbrains/kotlin/runner/Main.kt b/compiler/cli/cli-runner/src/org/jetbrains/kotlin/runner/Main.kt index fa227a1ce50..bea46a4c810 100644 --- a/compiler/cli/cli-runner/src/org/jetbrains/kotlin/runner/Main.kt +++ b/compiler/cli/cli-runner/src/org/jetbrains/kotlin/runner/Main.kt @@ -37,6 +37,7 @@ object Main { var runner: Runner? = null var collectingArguments = false val arguments = arrayListOf() + var noReflect = false classpath.add(".") @@ -69,6 +70,9 @@ object Main { runner = ExpressionRunner(next()) collectingArguments = true } + else if ("-no-reflect" == arg) { + noReflect = true + } else if (arg.startsWith("-")) { throw RunnerException("unsupported argument: $arg") } @@ -89,8 +93,9 @@ object Main { classpath.add(KOTLIN_HOME.toString() + "/lib/kotlin-runtime.jar") - // TODO: provide a way to disable including kotlin-reflect.jar to the classpath - classpath.add(KOTLIN_HOME.toString() + "/lib/kotlin-reflect.jar") + if (!noReflect) { + classpath.add(KOTLIN_HOME.toString() + "/lib/kotlin-reflect.jar") + } if (runner == null) { runner = ReplRunner() @@ -99,7 +104,8 @@ object Main { runner.run(classpath, arguments) } - @JvmStatic fun main(args: Array) { + @JvmStatic + fun main(args: Array) { try { run(args) } @@ -124,6 +130,7 @@ where command may be one of: -classpath (-cp) Paths where to find user class files -Dname=value Set a system JVM property -J