From 4da667564055329edbddec411b803c45c95395c1 Mon Sep 17 00:00:00 2001
From: Ivan Gavrilovic <gavra@google.com>
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(-)

--- 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
@@ -6,7 +6,6 @@
 @file:Suppress("JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE")
 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
@@ -67,8 +66,7 @@
         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)
             }
