From 4a7dc254069f204c34b417a219158023caf7b237 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 23 Jul 2014 16:18:10 +0400 Subject: [PATCH] CLI: add an extra MessageRenderer parameter to compiler exec Is supposed to be used instead of the "-tags" CLI argument --- .../org/jetbrains/jet/cli/common/CLICompiler.java | 15 ++++++++++++--- .../jet/compiler/runner/CompilerRunnerUtil.java | 3 +-- .../semantics/CompileMavenGeneratedJSLibrary.java | 3 ++- .../k2js/test/semantics/StdLibTestBase.java | 3 ++- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/compiler/cli/src/org/jetbrains/jet/cli/common/CLICompiler.java b/compiler/cli/src/org/jetbrains/jet/cli/common/CLICompiler.java index 55fa9f123e0..d2954a1713d 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/common/CLICompiler.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/common/CLICompiler.java @@ -52,7 +52,17 @@ public abstract class CLICompiler { if (!parseArguments(errStream, arguments, args)) { return INTERNAL_ERROR; } - return exec(errStream, arguments); + return exec(errStream, getMessageRenderer(arguments), arguments); + } + + @SuppressWarnings("UnusedDeclaration") // Used via reflection in CompilerRunnerUtil#invokeExecMethod + @NotNull + public ExitCode execAndOutputHtml(@NotNull PrintStream errStream, @NotNull String... args) { + A arguments = createArguments(); + if (!parseArguments(errStream, arguments, args)) { + return INTERNAL_ERROR; + } + return exec(errStream, MessageRenderer.TAGS, arguments); } /** @@ -100,13 +110,12 @@ public abstract class CLICompiler { * Executes the compiler on the parsed arguments */ @NotNull - public ExitCode exec(@NotNull PrintStream errStream, @NotNull A arguments) { + public ExitCode exec(@NotNull PrintStream errStream, @NotNull MessageRenderer messageRenderer, @NotNull A arguments) { if (arguments.help || arguments.extraHelp) { usage(errStream, arguments.extraHelp); return OK; } - MessageRenderer messageRenderer = getMessageRenderer(arguments); errStream.print(messageRenderer.renderPreamble()); printVersionIfNeeded(errStream, arguments, messageRenderer); diff --git a/ide-compiler-runner/src/org/jetbrains/jet/compiler/runner/CompilerRunnerUtil.java b/ide-compiler-runner/src/org/jetbrains/jet/compiler/runner/CompilerRunnerUtil.java index 4244b45ab54..1c7812646e5 100644 --- a/ide-compiler-runner/src/org/jetbrains/jet/compiler/runner/CompilerRunnerUtil.java +++ b/ide-compiler-runner/src/org/jetbrains/jet/compiler/runner/CompilerRunnerUtil.java @@ -17,7 +17,6 @@ package org.jetbrains.jet.compiler.runner; import com.intellij.util.Function; -import kotlin.Function1; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.cli.common.messages.MessageCollector; @@ -124,7 +123,7 @@ public class CompilerRunnerUtil { : getOrCreateClassLoader(environment.getKotlinPaths(), messageCollector); Class kompiler = Class.forName(compilerClassName, true, loader); - Method exec = kompiler.getMethod("exec", PrintStream.class, String[].class); + Method exec = kompiler.getMethod("execAndOutputHtml", PrintStream.class, String[].class); return exec.invoke(kompiler.newInstance(), out, arguments); } diff --git a/js/js.tests/test/org/jetbrains/k2js/test/semantics/CompileMavenGeneratedJSLibrary.java b/js/js.tests/test/org/jetbrains/k2js/test/semantics/CompileMavenGeneratedJSLibrary.java index caebf9606dd..2e2f429c577 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/semantics/CompileMavenGeneratedJSLibrary.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/semantics/CompileMavenGeneratedJSLibrary.java @@ -20,6 +20,7 @@ import com.google.common.collect.Lists; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.cli.common.ExitCode; import org.jetbrains.jet.cli.common.arguments.K2JSCompilerArguments; +import org.jetbrains.jet.cli.common.messages.MessageRenderer; import org.jetbrains.jet.cli.js.K2JSCompiler; import org.jetbrains.k2js.config.EcmaVersion; import org.jetbrains.k2js.test.SingleFileTranslationTest; @@ -96,7 +97,7 @@ public class CompileMavenGeneratedJSLibrary extends SingleFileTranslationTest { arguments.verbose = true; arguments.libraryFiles = new String[] {generatedJsDefinitionsDir}; System.out.println("Compiling with version: " + version + " to: " + arguments.outputFile); - ExitCode answer = compiler.exec(System.out, arguments); + ExitCode answer = compiler.exec(System.out, MessageRenderer.PLAIN, arguments); assertEquals("Compile failed", ExitCode.OK, answer); } } diff --git a/js/js.tests/test/org/jetbrains/k2js/test/semantics/StdLibTestBase.java b/js/js.tests/test/org/jetbrains/k2js/test/semantics/StdLibTestBase.java index 5b01bfa40ed..aec5d6eb726 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/semantics/StdLibTestBase.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/semantics/StdLibTestBase.java @@ -21,6 +21,7 @@ import com.intellij.util.ArrayUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.cli.common.ExitCode; import org.jetbrains.jet.cli.common.arguments.K2JSCompilerArguments; +import org.jetbrains.jet.cli.common.messages.MessageRenderer; import org.jetbrains.jet.cli.js.K2JSCompiler; import org.jetbrains.k2js.config.EcmaVersion; import org.jetbrains.k2js.test.SingleFileTranslationTest; @@ -74,7 +75,7 @@ abstract class StdLibTestBase extends SingleFileTranslationTest { arguments.verbose = true; arguments.libraryFiles = ArrayUtil.toStringArray(libFiles); System.out.println("Compiling with version: " + version + " to: " + arguments.outputFile); - ExitCode answer = compiler.exec(System.out, arguments); + ExitCode answer = compiler.exec(System.out, MessageRenderer.PLAIN, arguments); assertEquals("Compile failed", ExitCode.OK, answer); }