diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java index 3d94fc215e8..8386248ab35 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java @@ -44,8 +44,7 @@ import java.util.Collections; import java.util.List; import static com.google.common.base.Predicates.in; -import static org.jetbrains.jet.cli.common.ExitCode.INTERNAL_ERROR; -import static org.jetbrains.jet.cli.common.ExitCode.OK; +import static org.jetbrains.jet.cli.common.ExitCode.*; @SuppressWarnings("UseOfSystemOutOrSystemErr") public class K2JVMCompiler extends CLICompiler { @@ -90,6 +89,11 @@ public class K2JVMCompiler extends CLICompiler { else if (arguments.module != null) { } else if (arguments.script) { + if (arguments.freeArgs.isEmpty()) { + messageCollector.report(CompilerMessageSeverity.ERROR, "Specify script source path to evaluate", + CompilerMessageLocation.NO_LOCATION); + return COMPILATION_ERROR; + } configuration.add(CommonConfigurationKeys.SOURCE_ROOTS_KEY, arguments.freeArgs.get(0)); } else { diff --git a/compiler/testData/cli/jvm/wrongScriptWithNoSource.args b/compiler/testData/cli/jvm/wrongScriptWithNoSource.args new file mode 100644 index 00000000000..9cd5abdb5db --- /dev/null +++ b/compiler/testData/cli/jvm/wrongScriptWithNoSource.args @@ -0,0 +1 @@ +-script diff --git a/compiler/testData/cli/jvm/wrongScriptWithNoSource.out b/compiler/testData/cli/jvm/wrongScriptWithNoSource.out new file mode 100644 index 00000000000..d40cf68f5b0 --- /dev/null +++ b/compiler/testData/cli/jvm/wrongScriptWithNoSource.out @@ -0,0 +1,2 @@ +ERROR: Specify script source path to evaluate +COMPILATION_ERROR \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/cli/KotlincExecutableTestGenerated.java b/compiler/tests/org/jetbrains/jet/cli/KotlincExecutableTestGenerated.java index 624ac7ec61d..249789c9347 100644 --- a/compiler/tests/org/jetbrains/jet/cli/KotlincExecutableTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/cli/KotlincExecutableTestGenerated.java @@ -109,6 +109,11 @@ public class KotlincExecutableTestGenerated extends AbstractKotlincExecutableTes doJvmTest("compiler/testData/cli/jvm/wrongKotlinSignature.args"); } + @TestMetadata("wrongScriptWithNoSource.args") + public void testWrongScriptWithNoSource() throws Exception { + doJvmTest("compiler/testData/cli/jvm/wrongScriptWithNoSource.args"); + } + @TestMetadata("compiler/testData/cli/jvm/wrongAbiVersionLib") @InnerTestClasses({}) public static class WrongAbiVersionLib extends AbstractKotlincExecutableTest {