Make NameResolver.getName extension instead of member
To get rid of dependency of NameResolver on Name
This commit is contained in:
-5
@@ -17,16 +17,11 @@
|
||||
package org.jetbrains.kotlin.serialization.deserialization;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.kotlin.name.ClassId;
|
||||
import org.jetbrains.kotlin.name.Name;
|
||||
|
||||
public interface NameResolver {
|
||||
@NotNull
|
||||
String getString(int index);
|
||||
|
||||
@NotNull
|
||||
Name getName(int index);
|
||||
|
||||
/**
|
||||
* @return the fully qualified name of some class in the format: `org/foo/bar/Test.Inner`
|
||||
*/
|
||||
|
||||
+2
-6
@@ -19,18 +19,14 @@ package org.jetbrains.kotlin.serialization.deserialization
|
||||
import org.jetbrains.kotlin.metadata.ProtoBuf
|
||||
import org.jetbrains.kotlin.metadata.ProtoBuf.QualifiedNameTable.QualifiedName
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import java.util.*
|
||||
|
||||
class NameResolverImpl(
|
||||
private val strings: ProtoBuf.StringTable,
|
||||
private val qualifiedNames: ProtoBuf.QualifiedNameTable
|
||||
private val strings: ProtoBuf.StringTable,
|
||||
private val qualifiedNames: ProtoBuf.QualifiedNameTable
|
||||
) : NameResolver {
|
||||
|
||||
override fun getString(index: Int): String = strings.getString(index)
|
||||
|
||||
override fun getName(index: Int) = Name.guessByFirstCharacter(strings.getString(index))
|
||||
|
||||
override fun getQualifiedClassName(index: Int): String {
|
||||
val (packageFqNameSegments, relativeClassNameSegments) = traverseIds(index)
|
||||
val className = relativeClassNameSegments.joinToString(".")
|
||||
|
||||
+4
@@ -6,7 +6,11 @@
|
||||
package org.jetbrains.kotlin.serialization.deserialization
|
||||
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
fun NameResolver.getClassId(index: Int): ClassId {
|
||||
return ClassId.fromString(getQualifiedClassName(index), isLocalClassName(index))
|
||||
}
|
||||
|
||||
fun NameResolver.getName(index: Int): Name =
|
||||
Name.guessByFirstCharacter(getString(index))
|
||||
|
||||
+1
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.resolve.MemberComparator
|
||||
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
||||
import org.jetbrains.kotlin.resolve.scopes.MemberScopeImpl
|
||||
import org.jetbrains.kotlin.serialization.deserialization.DeserializationContext
|
||||
import org.jetbrains.kotlin.serialization.deserialization.getName
|
||||
import org.jetbrains.kotlin.storage.getValue
|
||||
import org.jetbrains.kotlin.utils.Printer
|
||||
import org.jetbrains.kotlin.utils.addIfNotNull
|
||||
|
||||
+1
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.metadata.ProtoBuf
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns
|
||||
import org.jetbrains.kotlin.serialization.deserialization.DeserializationContext
|
||||
import org.jetbrains.kotlin.serialization.deserialization.ProtoEnumFlags
|
||||
import org.jetbrains.kotlin.serialization.deserialization.getName
|
||||
import org.jetbrains.kotlin.serialization.deserialization.upperBounds
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
|
||||
|
||||
Reference in New Issue
Block a user