Create descriptors with Kotlin package name in decompiler/cls stub builder
(cherry picked from commit b2620d1)
This commit is contained in:
committed by
Dmitry Jemerov
parent
f93f502ebe
commit
2ed3e88561
+1
-1
@@ -89,7 +89,7 @@ class DeserializerForClassfileDecompiler(
|
|||||||
}
|
}
|
||||||
val (nameResolver, packageProto) = JvmProtoBufUtil.readPackageDataFrom(annotationData, strings)
|
val (nameResolver, packageProto) = JvmProtoBufUtil.readPackageDataFrom(annotationData, strings)
|
||||||
val membersScope = DeserializedPackageMemberScope(
|
val membersScope = DeserializedPackageMemberScope(
|
||||||
createDummyPackageFragment(packageFqName), packageProto, nameResolver,
|
createDummyPackageFragment(header.packageName?.let(::FqName) ?: facadeFqName.parent()), packageProto, nameResolver,
|
||||||
JvmPackagePartSource(binaryClassForPackageClass), deserializationComponents
|
JvmPackagePartSource(binaryClassForPackageClass), deserializationComponents
|
||||||
) { emptyList() }
|
) { emptyList() }
|
||||||
return membersScope.getContributedDescriptors().toList()
|
return membersScope.getContributedDescriptors().toList()
|
||||||
|
|||||||
+3
-1
@@ -86,7 +86,9 @@ open class KotlinClsStubBuilder : ClsStubBuilder() {
|
|||||||
KotlinClassHeader.Kind.FILE_FACADE -> {
|
KotlinClassHeader.Kind.FILE_FACADE -> {
|
||||||
val (nameResolver, packageProto) = JvmProtoBufUtil.readPackageDataFrom(annotationData, strings)
|
val (nameResolver, packageProto) = JvmProtoBufUtil.readPackageDataFrom(annotationData, strings)
|
||||||
val context = components.createContext(nameResolver, packageFqName, TypeTable(packageProto.typeTable))
|
val context = components.createContext(nameResolver, packageFqName, TypeTable(packageProto.typeTable))
|
||||||
createFileFacadeStub(packageProto, classId.asSingleFqName(), context)
|
val fqName = header.packageName?.let { ClassId(FqName(it), classId.relativeClassName, classId.isLocal).asSingleFqName() }
|
||||||
|
?: classId.asSingleFqName()
|
||||||
|
createFileFacadeStub(packageProto, fqName, context)
|
||||||
}
|
}
|
||||||
else -> throw IllegalStateException("Should have processed " + file.path + " with header $header")
|
else -> throw IllegalStateException("Should have processed " + file.path + " with header $header")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user