Avoid retaining reference to ProtoBuf.Package in JvmPackagePartSource

Otherwise, 2e933a165a doesn't help
This commit is contained in:
Denis Zharkov
2018-03-15 14:38:37 +03:00
parent 4b78abaa7a
commit c334f46825
2 changed files with 10 additions and 7 deletions
@@ -17,8 +17,11 @@
package org.jetbrains.kotlin.load.kotlin
import org.jetbrains.kotlin.descriptors.SourceFile
import org.jetbrains.kotlin.load.java.JvmAbi
import org.jetbrains.kotlin.metadata.ProtoBuf
import org.jetbrains.kotlin.metadata.deserialization.NameResolver
import org.jetbrains.kotlin.metadata.deserialization.getExtensionOrNull
import org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.jvm.JvmClassName
@@ -28,8 +31,8 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
class JvmPackagePartSource(
val className: JvmClassName,
val facadeClassName: JvmClassName?,
val packageProto: ProtoBuf.Package,
val nameResolver: NameResolver,
packageProto: ProtoBuf.Package,
nameResolver: NameResolver,
override val incompatibility: IncompatibleVersionErrorData<JvmMetadataVersion>? = null,
override val isPreReleaseInvisible: Boolean = false,
val knownJvmBinaryClass: KotlinJvmBinaryClass? = null
@@ -52,6 +55,10 @@ class JvmPackagePartSource(
kotlinClass
)
val moduleName =
packageProto.getExtensionOrNull(JvmProtoBuf.packageModuleName)?.let(nameResolver::getString)
?: JvmAbi.DEFAULT_MODULE_NAME
override val presentableString: String
get() = "Class '${classId.asSingleFqName().asString()}'"