Kapt1: Allow to use spaces in the collected identifiers (KT-12769)
This commit is contained in:
+15
-3
@@ -170,6 +170,8 @@ abstract class AnnotationCollectorExtensionBase(val supportInheritedAnnotations:
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun recordClass(packageName: String, className: String) {
|
private fun recordClass(packageName: String, className: String) {
|
||||||
|
if (!isValidName(packageName) || !isValidName(className)) return
|
||||||
|
|
||||||
val packageNameId = if (!packageName.isEmpty())
|
val packageNameId = if (!packageName.isEmpty())
|
||||||
shortenedPackageNameCache.save(packageName, writer)
|
shortenedPackageNameCache.save(packageName, writer)
|
||||||
else null
|
else null
|
||||||
@@ -180,17 +182,23 @@ abstract class AnnotationCollectorExtensionBase(val supportInheritedAnnotations:
|
|||||||
|
|
||||||
private fun recordAnnotation(name: String?, type: String, annotationDesc: String) {
|
private fun recordAnnotation(name: String?, type: String, annotationDesc: String) {
|
||||||
val annotationFqName = Type.getType(annotationDesc).className
|
val annotationFqName = Type.getType(annotationDesc).className
|
||||||
if (!isAnnotationHandled(annotationFqName)) return
|
if (!isAnnotationHandled(annotationFqName) || !isValidName(annotationFqName)) return
|
||||||
|
|
||||||
|
if (name != null && !isValidName(name)) return
|
||||||
|
|
||||||
try {
|
try {
|
||||||
val annotationId = shortenedAnnotationCache.save(annotationFqName, writer)
|
|
||||||
val packageName = this.currentPackageName
|
val packageName = this.currentPackageName
|
||||||
|
if (!isValidName(packageName)) return
|
||||||
|
|
||||||
|
val className = this.currentClassSimpleName
|
||||||
|
if (!isValidName(className)) return
|
||||||
|
|
||||||
|
val annotationId = shortenedAnnotationCache.save(annotationFqName, writer)
|
||||||
|
|
||||||
val packageNameId = if (!packageName.isEmpty())
|
val packageNameId = if (!packageName.isEmpty())
|
||||||
shortenedPackageNameCache.save(packageName, writer)
|
shortenedPackageNameCache.save(packageName, writer)
|
||||||
else null
|
else null
|
||||||
|
|
||||||
val className = this.currentClassSimpleName
|
|
||||||
val outputClassName = getOutputClassName(packageNameId, className)
|
val outputClassName = getOutputClassName(packageNameId, className)
|
||||||
val elementName = if (name != null) " $name" else ""
|
val elementName = if (name != null) " $name" else ""
|
||||||
|
|
||||||
@@ -201,6 +209,10 @@ abstract class AnnotationCollectorExtensionBase(val supportInheritedAnnotations:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun isValidName(name: String): Boolean {
|
||||||
|
return ' ' !in name
|
||||||
|
}
|
||||||
|
|
||||||
private fun getOutputClassName(packageNameId: String?, className: String): String {
|
private fun getOutputClassName(packageNameId: String?, className: String): String {
|
||||||
return if (packageNameId == null) className else "$packageNameId/$className"
|
return if (packageNameId == null) className else "$packageNameId/$className"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user