From aaebce2683c39ecd76d3c4d777542d857a08cd22 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Tue, 3 Jun 2014 21:55:30 +0400 Subject: [PATCH] Got rid of ModuleChunk (it makes no sense now). --- .../jet/buildtools/core/BytecodeCompiler.java | 4 +- .../jetbrains/jet/cli/jvm/K2JVMCompiler.java | 3 +- .../jet/cli/jvm/compiler/ChunkAsOneModule.kt | 37 ------------------ .../jvm/compiler/CompileEnvironmentUtil.java | 13 ++++--- .../compiler/KotlinToJVMBytecodeCompiler.java | 8 ++-- .../jet/cli/jvm/compiler/ModuleChunk.java | 39 ------------------- 6 files changed, 14 insertions(+), 90 deletions(-) delete mode 100644 compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/ChunkAsOneModule.kt delete mode 100644 compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/ModuleChunk.java diff --git a/build-tools/core/src/org/jetbrains/jet/buildtools/core/BytecodeCompiler.java b/build-tools/core/src/org/jetbrains/jet/buildtools/core/BytecodeCompiler.java index 26eaa4a123f..74194039391 100644 --- a/build-tools/core/src/org/jetbrains/jet/buildtools/core/BytecodeCompiler.java +++ b/build-tools/core/src/org/jetbrains/jet/buildtools/core/BytecodeCompiler.java @@ -230,10 +230,10 @@ public class BytecodeCompiler { @Nullable String[] externalAnnotationsPath, boolean enableInline ) { try { - ModuleChunk modules = CompileEnvironmentUtil.loadModuleDescriptions(getKotlinPathsForAntTask(), module, + List modules = CompileEnvironmentUtil.loadModuleDescriptions(getKotlinPathsForAntTask(), module, MessageCollectorPlainTextToStream.PLAIN_TEXT_TO_SYSTEM_ERR); List sourcesRoots = new ArrayList(); - for (Module m : modules.getModules()) { + for (Module m : modules) { sourcesRoots.addAll(m.getSourceFiles()); } CompilerConfiguration configuration = createConfiguration(stdlib, classpath, externalAnnotationsPath, sourcesRoots.toArray(new String[0]), 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 cacb60d11fd..07e3b4c7075 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java @@ -20,6 +20,7 @@ import com.google.common.base.Splitter; import com.google.common.collect.Lists; import com.intellij.openapi.Disposable; import com.intellij.openapi.util.text.StringUtil; +import kotlin.modules.Module; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.cli.common.CLICompiler; import org.jetbrains.jet.cli.common.CLIConfigurationKeys; @@ -124,7 +125,7 @@ public class K2JVMCompiler extends CLICompiler { if (arguments.module != null) { MessageCollector sanitizedCollector = new FilteringMessageCollector(messageCollector, in(CompilerMessageSeverity.VERBOSE)); - ModuleChunk modules = CompileEnvironmentUtil.loadModuleDescriptions(paths, arguments.module, sanitizedCollector); + List modules = CompileEnvironmentUtil.loadModuleDescriptions(paths, arguments.module, sanitizedCollector); if (outputDir != null) { messageCollector.report(CompilerMessageSeverity.WARNING, "The '-output' option is ignored because '-module' is specified", diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/ChunkAsOneModule.kt b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/ChunkAsOneModule.kt deleted file mode 100644 index 30206b65d4e..00000000000 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/ChunkAsOneModule.kt +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2010-2014 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.jvm.compiler - -import kotlin.modules.Module - -class ChunkAsOneModule(private val chunk: ModuleChunk) : Module { - fun getModules(): List { - return chunk.getModules() - } - - override fun getModuleName(): String = "chunk" + getModules().map { it.getModuleName() }.toString() - - override fun getOutputDirectory(): String { - throw UnsupportedOperationException("Each module in a chunk has its own output directory") - } - override fun getSourceFiles(): List = chunk.getModules().flatMap { it.getSourceFiles() } - - override fun getClasspathRoots(): List = chunk.getModules().flatMap { it.getClasspathRoots() } - - override fun getAnnotationsRoots(): List = chunk.getModules().flatMap { it.getAnnotationsRoots() } - -} \ No newline at end of file diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CompileEnvironmentUtil.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CompileEnvironmentUtil.java index 59a0468dda5..7c4b59ade2f 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CompileEnvironmentUtil.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CompileEnvironmentUtil.java @@ -51,6 +51,7 @@ import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.jar.*; @@ -66,28 +67,28 @@ public class CompileEnvironmentUtil { } @NotNull - public static ModuleChunk loadModuleDescriptions(KotlinPaths paths, String moduleDefinitionFile, MessageCollector messageCollector) { + public static List loadModuleDescriptions(KotlinPaths paths, String moduleDefinitionFile, MessageCollector messageCollector) { File file = new File(moduleDefinitionFile); if (!file.exists()) { messageCollector.report(ERROR, "Module definition file does not exist: " + moduleDefinitionFile, NO_LOCATION); - return ModuleChunk.EMPTY; + return Collections.emptyList(); } String extension = FileUtilRt.getExtension(moduleDefinitionFile); if ("ktm".equalsIgnoreCase(extension)) { - return new ModuleChunk(loadModuleScript(paths, moduleDefinitionFile, messageCollector)); + return loadModuleScript(paths, moduleDefinitionFile, messageCollector); } if ("xml".equalsIgnoreCase(extension)) { - return new ModuleChunk(ContainerUtil.map( + return ContainerUtil.map( ModuleXmlParser.parse(moduleDefinitionFile, messageCollector), new Function() { @Override public Module fun(ModuleDescription description) { return new DescriptionToModuleAdapter(description); } - })); + }); } messageCollector.report(ERROR, "Unknown module definition type: " + moduleDefinitionFile, NO_LOCATION); - return ModuleChunk.EMPTY; + return Collections.emptyList(); } @NotNull diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.java index fb585968f9e..fb3b039cf31 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.java @@ -153,18 +153,16 @@ public class KotlinToJVMBytecodeCompiler { public static boolean compileModules( @NotNull CompilerConfiguration configuration, - @NotNull ModuleChunk chunk, + @NotNull List chunk, @NotNull File directory, @Nullable File jarPath, boolean jarRuntime ) { - List modules = chunk.getModules(); - - Map outputFiles = compileModule(configuration, modules, directory); + Map outputFiles = compileModule(configuration, chunk, directory); if (outputFiles == null) { return false; } - for (Module module : modules) { + for (Module module : chunk) { writeOutput(configuration, outputFiles.get(module), new File(module.getOutputDirectory()), jarPath, jarRuntime, null); } return true; diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/ModuleChunk.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/ModuleChunk.java deleted file mode 100644 index 2eb98e07bf5..00000000000 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/ModuleChunk.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * 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.jvm.compiler; - -import kotlin.modules.Module; -import org.jetbrains.annotations.NotNull; - -import java.util.Collections; -import java.util.List; - -public class ModuleChunk { - - public static final ModuleChunk EMPTY = new ModuleChunk(Collections.emptyList()); - - private final List modules; - - public ModuleChunk(@NotNull List modules) { - this.modules = modules; - } - - @NotNull - public List getModules() { - return modules; - } -}