Make ClassId's relative class name FqName instead of FqNameUnsafe
It was FqNameUnsafe in times when there were classes without identifier names, specifically class objects with names like '<class-object-for-...>'
This commit is contained in:
+1
-2
@@ -19,7 +19,6 @@ package org.jetbrains.kotlin.serialization.deserialization;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.kotlin.name.ClassId;
|
||||
import org.jetbrains.kotlin.name.FqName;
|
||||
import org.jetbrains.kotlin.name.FqNameUnsafe;
|
||||
import org.jetbrains.kotlin.name.Name;
|
||||
import org.jetbrains.kotlin.serialization.ProtoBuf;
|
||||
|
||||
@@ -85,7 +84,7 @@ public class NameResolver {
|
||||
index = proto.getParentQualifiedName();
|
||||
}
|
||||
|
||||
return new ClassId(FqName.fromSegments(packageFqName), FqNameUnsafe.fromSegments(relativeClassName), local);
|
||||
return new ClassId(FqName.fromSegments(packageFqName), FqName.fromSegments(relativeClassName), local);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
+5
-8
@@ -16,19 +16,16 @@
|
||||
|
||||
package org.jetbrains.kotlin.serialization.deserialization
|
||||
|
||||
import org.jetbrains.kotlin.serialization.ProtoBuf
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.serialization.deserialization.NameResolver
|
||||
import org.jetbrains.kotlin.name.FqNameUnsafe
|
||||
import org.jetbrains.kotlin.serialization.ProtoBuf
|
||||
|
||||
public data class ProtoContainer(val classProto: ProtoBuf.Class?, val packageFqName: FqName?) {
|
||||
{
|
||||
assert(classProto != null || packageFqName != null)
|
||||
assert(classProto == null || packageFqName == null)
|
||||
init {
|
||||
assert((classProto != null) xor (packageFqName != null))
|
||||
}
|
||||
|
||||
fun getFqName(nameResolver: NameResolver): FqNameUnsafe {
|
||||
if (packageFqName != null) return packageFqName.toUnsafe()
|
||||
fun getFqName(nameResolver: NameResolver): FqName {
|
||||
if (packageFqName != null) return packageFqName
|
||||
|
||||
return nameResolver.getClassId(classProto!!.getFqName()).asSingleFqName()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user