file
+ * will not be included in the list of files passed to {@link #compile(CompileContext, com.intellij.util.Chunk < com.intellij.openapi.module.Module >,com.intellij.openapi.vfs.VirtualFile[], com.intellij.openapi.compiler.TranslatingCompiler.OutputSink)}.
+ */
+ public boolean isCompilableFile(VirtualFile file, CompileContext context) {
+ return getCompilableFileTypes().contains(file.getFileType());
+ }
+
@NotNull
public Process launchProcess(@NotNull final ModuleChunk chunk, @NotNull final String outputDir, @NotNull final CompileContext compileContext) throws IOException {
final String[] commands = createStartupCommand(chunk, compileContext, outputDir);
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 ffa69c25927a..8384fbc0bb18 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
@@ -50,7 +50,11 @@ public class JavaCompiler implements TranslatingCompiler {
}
public boolean isCompilableFile(VirtualFile file, CompileContext context) {
- return getBackEndCompiler().getCompilableFileTypes().contains(file.getFileType());
+ final BackendCompiler backEndCompiler = getBackEndCompiler();
+ if (backEndCompiler instanceof ExternalCompiler) {
+ return ((ExternalCompiler)backEndCompiler).isCompilableFile(file, context);
+ }
+ return backEndCompiler.getCompilableFileTypes().contains(file.getFileType());
}
public void compile(CompileContext context, Chunk"; - @NonNls private static final String DL = "