Create descriptors with Kotlin package name in decompiler/cls stub builder

(cherry picked from commit b2620d1)
This commit is contained in:
Alexander Udalov
2017-10-25 13:51:12 +02:00
committed by Dmitry Jemerov
parent f93f502ebe
commit 2ed3e88561
2 changed files with 4 additions and 2 deletions
@@ -89,7 +89,7 @@ class DeserializerForClassfileDecompiler(
}
val (nameResolver, packageProto) = JvmProtoBufUtil.readPackageDataFrom(annotationData, strings)
val membersScope = DeserializedPackageMemberScope(
createDummyPackageFragment(packageFqName), packageProto, nameResolver,
createDummyPackageFragment(header.packageName?.let(::FqName) ?: facadeFqName.parent()), packageProto, nameResolver,
JvmPackagePartSource(binaryClassForPackageClass), deserializationComponents
) { emptyList() }
return membersScope.getContributedDescriptors().toList()
@@ -86,7 +86,9 @@ open class KotlinClsStubBuilder : ClsStubBuilder() {
KotlinClassHeader.Kind.FILE_FACADE -> {
val (nameResolver, packageProto) = JvmProtoBufUtil.readPackageDataFrom(annotationData, strings)
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")
}