From 3a43cf0a093fde9077aef099a3afd922d0afda1a Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Wed, 20 Jan 2010 12:07:32 +0300 Subject: [PATCH] reverts --- .../javaCompiler/AnnotationProcessingCompiler.java | 2 +- .../impl/javaCompiler/BackendCompilerWrapper.java | 37 ++++++++-------------- .../compiler/impl/javaCompiler/JavaCompiler.java | 2 +- 3 files changed, 15 insertions(+), 26 deletions(-) diff --git a/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/AnnotationProcessingCompiler.java b/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/AnnotationProcessingCompiler.java index 21861c3b6e..f93c1e191a 100644 --- a/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/AnnotationProcessingCompiler.java +++ b/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/AnnotationProcessingCompiler.java @@ -79,7 +79,7 @@ public class AnnotationProcessingCompiler implements TranslatingCompiler{ }; final JavacCompiler javacCompiler = getBackEndCompiler(); final boolean processorMode = javacCompiler.setAnnotationProcessorMode(true); - final BackendCompilerWrapper wrapper = new BackendCompilerWrapper(myProject, Arrays.asList(files), _context, javacCompiler, sink); + final BackendCompilerWrapper wrapper = new BackendCompilerWrapper(moduleChunk, myProject, Arrays.asList(files), _context, javacCompiler, sink); try { wrapper.compile(); } diff --git a/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/BackendCompilerWrapper.java b/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/BackendCompilerWrapper.java index 378a267317..b92fc0ea2d 100644 --- a/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/BackendCompilerWrapper.java +++ b/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/BackendCompilerWrapper.java @@ -79,6 +79,7 @@ public class BackendCompilerWrapper { private final CompileContextEx myCompileContext; private final List myFilesToCompile; private final TranslatingCompiler.OutputSink mySink; + private final Chunk myChunk; private final Project myProject; private final Set myFilesToRecompile; private final Map myModuleToTempDirMap = new THashMap(); @@ -89,10 +90,11 @@ public class BackendCompilerWrapper { public final Map> myFileNameToSourceMap= new THashMap>(); - public BackendCompilerWrapper(@NotNull final Project project, + public BackendCompilerWrapper(Chunk chunk, @NotNull final Project project, @NotNull List filesToCompile, @NotNull CompileContextEx compileContext, @NotNull BackendCompiler compiler, TranslatingCompiler.OutputSink sink) { + myChunk = chunk; myProject = project; myCompiler = compiler; myCompileContext = compileContext; @@ -178,12 +180,15 @@ public class BackendCompilerWrapper { myFilesToRecompile.addAll(allDependent); } final List outputs = processPackageInfoFiles(); - if (!myFilesToRecompile.isEmpty() || !outputs.isEmpty()) { + if (myFilesToRecompile.size() > 0 || outputs.size() > 0) { mySink.add(null, outputs, VfsUtil.toVirtualFileArray(myFilesToRecompile)); } } private Map> buildModuleToFilesMap(final List filesToCompile) { + if (myChunk.getNodes().size() == 1) { + return Collections.singletonMap(myChunk.getNodes().iterator().next(), Collections.unmodifiableList(filesToCompile)); + } return CompilerUtil.buildModuleToFilesMap(myCompileContext, filesToCompile); } @@ -219,10 +224,12 @@ public class BackendCompilerWrapper { final List filesInScope = new ArrayList(files.size()); ApplicationManager.getApplication().runReadAction(new Runnable() { public void run() { - final CompileScope compileScope = myCompileContext.getCompileScope(); for (VirtualFile file : files) { - if (compileScope.belongs(file.getUrl())) { - filesInScope.add(file); + if (myCompileContext.getCompileScope().belongs(file.getUrl())) { + final Module module = myCompileContext.getModuleByFile(file); + if (myChunk.getNodes().contains(module)) { + filesInScope.add(file); + } } } } @@ -232,32 +239,14 @@ public class BackendCompilerWrapper { private void compileModules(final Map> moduleToFilesMap) throws CompilerException { myProcessedFilesCount = 0; - - final List chunks = getModuleChunks(moduleToFilesMap); try { - for (final ModuleChunk chunk : chunks) { - compileChunk(chunk); - } + compileChunk(new ModuleChunk(myCompileContext, myChunk, moduleToFilesMap)); } catch (IOException e) { throw new CompilerException(e.getMessage(), e); } } - private List getModuleChunks(final Map> moduleToFilesMap) { - final List modules = new ArrayList(moduleToFilesMap.keySet()); - final List> chunks = ApplicationManager.getApplication().runReadAction(new Computable>>() { - public List> compute() { - return ModuleCompilerUtil.getSortedModuleChunks(myProject, modules); - } - }); - final List moduleChunks = new ArrayList(chunks.size()); - for (final Chunk chunk : chunks) { - moduleChunks.add(new ModuleChunk(myCompileContext, chunk, moduleToFilesMap)); - } - return moduleChunks; - } - private void compileChunk(ModuleChunk chunk) throws IOException { runTransformingCompilers(chunk); diff --git a/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/JavaCompiler.java b/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/JavaCompiler.java index 068ade2ad6..20601f3abc 100644 --- a/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/JavaCompiler.java +++ b/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/JavaCompiler.java @@ -58,7 +58,7 @@ public class JavaCompiler implements TranslatingCompiler { public void compile(CompileContext context, Chunk moduleChunk, VirtualFile[] files, OutputSink sink) { final BackendCompiler backEndCompiler = getBackEndCompiler(); - final BackendCompilerWrapper wrapper = new BackendCompilerWrapper(myProject, Arrays.asList(files), (CompileContextEx)context, backEndCompiler, sink); + final BackendCompilerWrapper wrapper = new BackendCompilerWrapper(moduleChunk, myProject, Arrays.asList(files), (CompileContextEx)context, backEndCompiler, sink); try { wrapper.compile(); } -- 2.11.4.GIT