From cea891c754eb7fb498989cef7e3ea1b0fed7ad4c Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Wed, 16 Aug 2017 02:23:24 +0300 Subject: [PATCH] Kapt: Do not replace '/' with dots before converting to fqName (KT-19680) getQualifiedName() converts slashes by itself, and it causes the internal name equality check (it.name == classFromSources.name) to fail. This reproduces only for the pure synthetic classes (for which we don't generate Java light classes). --- .../kapt3/src/org/jetbrains/kotlin/kapt3/javac/KaptTreeMaker.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/kapt3/src/org/jetbrains/kotlin/kapt3/javac/KaptTreeMaker.kt b/plugins/kapt3/src/org/jetbrains/kotlin/kapt3/javac/KaptTreeMaker.kt index d5956400613..5f93c2e67e2 100644 --- a/plugins/kapt3/src/org/jetbrains/kotlin/kapt3/javac/KaptTreeMaker.kt +++ b/plugins/kapt3/src/org/jetbrains/kotlin/kapt3/javac/KaptTreeMaker.kt @@ -43,7 +43,7 @@ class KaptTreeMaker(context: Context, private val kaptContext: KaptContext<*>) : } fun FqName(internalOrFqName: String): JCTree.JCExpression { - val path = getQualifiedName(internalOrFqName.replace('/', '.')).convertSpecialFqName().split('.') + val path = getQualifiedName(internalOrFqName).convertSpecialFqName().split('.') assert(path.isNotEmpty()) if (path.size == 1) return SimpleName(path.single())