diff --git a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt index 070a6c2880e..52490df6f78 100644 --- a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt +++ b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt @@ -224,6 +224,12 @@ class IncrementalJvmCompilerRunner( for (javaFile in javaFiles) { if (!caches.platformCache.isTrackedFile(javaFile)) { + if (!javaFile.exists()) { + // todo: can we do this more optimal? + reporter.report { "Could not get changed for untracked removed java file $javaFile" } + return false + } + val psiFile = javaFile.psiFile() if (psiFile !is PsiJavaFile) { reporter.report { "[Precise Java tracking] Expected PsiJavaFile, got ${psiFile?.javaClass}" } diff --git a/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlinAndRemove/gradle-build.log b/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlinAndRemove/gradle-build.log new file mode 100644 index 00000000000..614e199c270 --- /dev/null +++ b/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlinAndRemove/gradle-build.log @@ -0,0 +1,14 @@ +================ Step #1 ================= + +Compiling files: + src/TheClass.kt + src/other.kt +End of files +Exit code: OK + +================ Step #2 ================= + +Compiling files: +End of files +Exit code: OK +