From 4da667564055329edbddec411b803c45c95395c1 Mon Sep 17 00:00:00 2001 From: Ivan Gavrilovic Date: Mon, 23 Sep 2019 16:49:09 +0100 Subject: [PATCH] Do not depend on BaseFileObject type for incremental KAPT This class does not exist in JDK9, so running incremental KAPT on JDK9 fails. Because it is used only to get the name of the file, this has been replaced with usage of the public JavaFileObject API. --- .../jetbrains/kotlin/kapt3/base/javac/KaptJavaFileManager.kt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/javac/KaptJavaFileManager.kt b/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/javac/KaptJavaFileManager.kt index 16288950d7b..be9c92379b3 100644 --- a/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/javac/KaptJavaFileManager.kt +++ b/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/javac/KaptJavaFileManager.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.kapt3.base.javac -import com.sun.tools.javac.file.BaseFileObject import com.sun.tools.javac.file.JavacFileManager import com.sun.tools.javac.main.Option import com.sun.tools.javac.util.Context @@ -66,8 +65,7 @@ class KaptJavaFileManager(context: Context) : JavacFileManager(context, true, nu return when (fileObject.toUri().scheme) { "jar", "zip" -> false else -> { - if (fileObject !is BaseFileObject) return false - val typeName = packageName?.let { "$it." } + fileObject.shortName.dropLast(".class".length) + val typeName = packageName?.let { "$it." } + File(fileObject.toUri()).name.dropLast(".class".length) return typeToIgnore.contains(typeName) }