Extracted OutputFileFactory interface.

This commit is contained in:
Zalim Bashorov
2013-10-31 16:20:56 +04:00
parent 64e12398af
commit 5dd4eb780e
20 changed files with 71 additions and 19 deletions
+1
View File
@@ -17,6 +17,7 @@
<orderEntry type="module" module-name="cli-common" exported="" />
<orderEntry type="module" module-name="descriptor.loader.java" />
<orderEntry type="module" module-name="util" />
<orderEntry type="module" module-name="backend-common" />
</component>
</module>
@@ -26,6 +26,7 @@ import jet.modules.AllModules;
import jet.modules.Module;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.OutputFileFactory;
import org.jetbrains.jet.cli.common.CLIConfigurationKeys;
import org.jetbrains.jet.cli.common.messages.*;
import org.jetbrains.jet.cli.common.modules.ModuleDescription;
@@ -178,7 +179,7 @@ public class CompileEnvironmentUtil {
mainAttributes.putValue("Main-Class", mainClass.asString());
}
JarOutputStream stream = new JarOutputStream(fos, manifest);
for (String file : factory.files()) {
for (String file : factory.getOutputFiles()) {
stream.putNextEntry(new JarEntry(file));
stream.write(factory.asBytes(file));
}
@@ -252,11 +253,11 @@ public class CompileEnvironmentUtil {
}
public static void writeToOutputWithDirector(
ClassFileFactory factory,
OutputFileFactory factory,
@NotNull OutputDirector outputDirector,
@NotNull MessageCollector messageCollector
) {
List<String> files = factory.files();
List<String> files = factory.getOutputFiles();
for (String file : files) {
List<File> sourceFiles = factory.getSourceFiles(file);
File target = new File(outputDirector.getOutputDirectory(sourceFiles), file);
@@ -241,7 +241,7 @@ public class ReplInterpreter {
compileScript(psiFile.getScript(), scriptClassType, earlierScripts, generationState,
CompilationErrorHandler.THROW_EXCEPTION);
for (String file : generationState.getFactory().files()) {
for (String file : generationState.getFactory().getOutputFiles()) {
classLoader.addClass(JvmClassName.byInternalName(file.replaceFirst("\\.class$", "")), generationState.getFactory().asBytes(file));
}