Fix package part class name calculation
Package part name can contain dollars
This commit is contained in:
@@ -67,5 +67,5 @@ fun ClassDescriptor.getParentJavaStaticClassScope(): LazyJavaStaticClassScope? {
|
||||
}
|
||||
|
||||
fun DeserializedCallableMemberDescriptor.getImplClassNameForDeserialized(): Name? {
|
||||
return (packagePartSource as? JvmPackagePartSource)?.className?.fqNameForClassNameWithoutDollars?.shortName()
|
||||
return (packagePartSource as? JvmPackagePartSource)?.simpleName
|
||||
}
|
||||
|
||||
+1
-2
@@ -202,8 +202,7 @@ public abstract class AbstractBinaryClassAnnotationAndConstantLoader<A : Any, C
|
||||
if (property && container is ProtoContainer.Class && container.isInterface) {
|
||||
return container.classId.createNestedClassId(Name.identifier(JvmAbi.DEFAULT_IMPLS_CLASS_NAME))
|
||||
}
|
||||
return ((container as? ProtoContainer.Package)?.packagePartSource as? JvmPackagePartSource)
|
||||
?.className?.fqNameForClassNameWithoutDollars?.let { ClassId.topLevel(it) }
|
||||
return ((container as? ProtoContainer.Package)?.packagePartSource as? JvmPackagePartSource)?.classId
|
||||
}
|
||||
|
||||
private fun loadAnnotationsAndInitializers(kotlinClass: KotlinJvmBinaryClass): Storage<A, C> {
|
||||
|
||||
+7
-1
@@ -16,7 +16,13 @@
|
||||
|
||||
package org.jetbrains.kotlin.load.kotlin
|
||||
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.resolve.jvm.JvmClassName
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.PackagePartSource
|
||||
|
||||
class JvmPackagePartSource(val className: JvmClassName) : PackagePartSource
|
||||
class JvmPackagePartSource(val className: JvmClassName) : PackagePartSource {
|
||||
val simpleName: Name get() = Name.identifier(className.internalName.substringAfterLast('/'))
|
||||
|
||||
val classId: ClassId get() = ClassId(className.packageFqName, simpleName)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user