From c0e8038ed2921820b441b4ce58deda560cd325d2 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Sun, 22 Sep 2013 18:46:26 +0400 Subject: [PATCH] FilteringMessageCollector moved out --- .../messages/FilteringMessageCollector.java | 39 +++++++++++++++++++ .../jetbrains/jet/cli/jvm/K2JVMCompiler.java | 24 ++---------- 2 files changed, 43 insertions(+), 20 deletions(-) create mode 100644 compiler/cli/cli-common/src/org/jetbrains/jet/cli/common/messages/FilteringMessageCollector.java diff --git a/compiler/cli/cli-common/src/org/jetbrains/jet/cli/common/messages/FilteringMessageCollector.java b/compiler/cli/cli-common/src/org/jetbrains/jet/cli/common/messages/FilteringMessageCollector.java new file mode 100644 index 00000000000..a6de7e72a9e --- /dev/null +++ b/compiler/cli/cli-common/src/org/jetbrains/jet/cli/common/messages/FilteringMessageCollector.java @@ -0,0 +1,39 @@ +/* + * Copyright 2010-2013 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.jet.cli.common.messages; + +import com.google.common.base.Predicate; +import org.jetbrains.annotations.NotNull; + +public class FilteringMessageCollector implements MessageCollector { + private final MessageCollector messageCollector; + private final Predicate decline; + + public FilteringMessageCollector(@NotNull MessageCollector messageCollector, @NotNull Predicate decline) { + this.messageCollector = messageCollector; + this.decline = decline; + } + + @Override + public void report( + @NotNull CompilerMessageSeverity severity, @NotNull String message, @NotNull CompilerMessageLocation location + ) { + if (!decline.apply(severity)) { + messageCollector.report(severity, message, location); + } + } +} 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 3c9750346bd..ae826068ed4 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java @@ -26,7 +26,6 @@ import org.jetbrains.jet.cli.common.CLICompiler; import org.jetbrains.jet.cli.common.CLIConfigurationKeys; import org.jetbrains.jet.cli.common.ExitCode; import org.jetbrains.jet.cli.common.messages.*; -import org.jetbrains.jet.cli.common.messages.CompilerMessageSeverity; import org.jetbrains.jet.cli.jvm.compiler.CommandLineScriptUtils; import org.jetbrains.jet.cli.jvm.compiler.CompileEnvironmentUtil; import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; @@ -47,7 +46,9 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; -import static org.jetbrains.jet.cli.common.ExitCode.*; +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; @SuppressWarnings("UseOfSystemOutOrSystemErr") public class K2JVMCompiler extends CLICompiler { @@ -134,7 +135,7 @@ public class K2JVMCompiler extends CLICompiler { File outputDir = arguments.outputDir != null ? new File(arguments.outputDir) : null; if (arguments.module != null) { - MessageCollector sanitizedCollector = new FilteringMessageCollector(messageCollector); + MessageCollector sanitizedCollector = new FilteringMessageCollector(messageCollector, in(CompilerMessageSeverity.VERBOSE)); List modules = CompileEnvironmentUtil.loadModuleDescriptions(paths, arguments.module, sanitizedCollector); File directory = new File(arguments.module).getAbsoluteFile().getParentFile(); @@ -215,21 +216,4 @@ public class K2JVMCompiler extends CLICompiler { } return annotationsPath; } - - private static class FilteringMessageCollector implements MessageCollector { - private final MessageCollector messageCollector; - - public FilteringMessageCollector(@NotNull MessageCollector messageCollector) { - this.messageCollector = messageCollector; - } - - @Override - public void report( - @NotNull CompilerMessageSeverity severity, @NotNull String message, @NotNull CompilerMessageLocation location - ) { - if (!CompilerMessageSeverity.VERBOSE.contains(severity)) { - messageCollector.report(severity, message, location); - } - } - } }