Kapt: Replace error.NonExistentClass usages to Object (as it does not break class hierarchies)
This commit is contained in:
+18
-3
@@ -80,6 +80,8 @@ class ClassFileToSourceStubConverter(
|
||||
"kotlin.jvm." // Kotlin annotations from runtime
|
||||
)
|
||||
|
||||
private val NON_EXISTENT_CLASS_NAME = FqName("error.NonExistentClass")
|
||||
|
||||
private val JAVA_KEYWORD_FILTER_REGEX = "[a-z]+".toRegex()
|
||||
|
||||
private val JAVA_KEYWORDS = Tokens.TokenKind.values()
|
||||
@@ -121,13 +123,13 @@ class ClassFileToSourceStubConverter(
|
||||
private fun generateNonExistentClass(): JCCompilationUnit {
|
||||
val nonExistentClass = treeMaker.ClassDef(
|
||||
treeMaker.Modifiers((Flags.PUBLIC or Flags.FINAL).toLong()),
|
||||
treeMaker.name("NonExistentClass"),
|
||||
treeMaker.name(NON_EXISTENT_CLASS_NAME.shortName().asString()),
|
||||
JavacList.nil(),
|
||||
null,
|
||||
JavacList.nil(),
|
||||
JavacList.nil())
|
||||
|
||||
val topLevel = treeMaker.TopLevelJava9Aware(treeMaker.SimpleName("error"), JavacList.of(nonExistentClass))
|
||||
val topLevel = treeMaker.TopLevelJava9Aware(treeMaker.FqName(NON_EXISTENT_CLASS_NAME.parent()), JavacList.of(nonExistentClass))
|
||||
|
||||
topLevel.sourcefile = KaptJavaFileObject(topLevel, nonExistentClass)
|
||||
|
||||
@@ -641,7 +643,20 @@ class ClassFileToSourceStubConverter(
|
||||
}
|
||||
}
|
||||
|
||||
return ifNonError()
|
||||
val nonErrorType = ifNonError()
|
||||
|
||||
if (nonErrorType is JCFieldAccess) {
|
||||
val qualifier = nonErrorType.selected
|
||||
if (nonErrorType.name.toString() == NON_EXISTENT_CLASS_NAME.shortName().asString()
|
||||
&& qualifier is JCIdent
|
||||
&& qualifier.name.toString() == NON_EXISTENT_CLASS_NAME.parent().asString()
|
||||
) {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
return treeMaker.FqName("java.lang.Object") as T
|
||||
}
|
||||
}
|
||||
|
||||
return nonErrorType
|
||||
}
|
||||
|
||||
private fun isValidQualifiedName(name: FqName) = name.pathSegments().all { isValidIdentifier(it.asString()) }
|
||||
|
||||
+3
-3
@@ -94,7 +94,7 @@ public final class Test<G extends java.lang.Object> {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public ABC nested;
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private final error.NonExistentClass m = null;
|
||||
private final java.lang.Object m = null;
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private final java.lang.String n = "";
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
@@ -289,7 +289,7 @@ public final class Test<G extends java.lang.Object> {
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
@kapt.internal.KaptSignature("getM()Lerror/NonExistentClass;")
|
||||
public final error.NonExistentClass getM() {
|
||||
public final java.lang.Object getM() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -352,7 +352,7 @@ public final class Test<G extends java.lang.Object> {
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
@kapt.internal.KaptSignature("f4()Lerror/NonExistentClass;")
|
||||
public final error.NonExistentClass f4() {
|
||||
public final java.lang.Object f4() {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user