Refactor: get rid of MemberFqNameProvider
This commit is contained in:
+1
-1
@@ -98,7 +98,7 @@ private class CallableClsStubBuilder(
|
|||||||
private fun doCreateCallableStub(): StubElement<out PsiElement> {
|
private fun doCreateCallableStub(): StubElement<out PsiElement> {
|
||||||
val callableKind = Flags.CALLABLE_KIND[callableProto.getFlags()]
|
val callableKind = Flags.CALLABLE_KIND[callableProto.getFlags()]
|
||||||
val callableName = c.nameResolver.getName(callableProto.getName())
|
val callableName = c.nameResolver.getName(callableProto.getName())
|
||||||
val callableFqName = c.memberFqNameProvider.getMemberFqName(callableName)
|
val callableFqName = c.containerFqName.child(callableName)
|
||||||
|
|
||||||
return when (callableKind) {
|
return when (callableKind) {
|
||||||
ProtoBuf.Callable.CallableKind.FUN -> {
|
ProtoBuf.Callable.CallableKind.FUN -> {
|
||||||
|
|||||||
+2
-2
@@ -101,7 +101,7 @@ private class ClassClsStubBuilder(
|
|||||||
|
|
||||||
private fun doCreateClassOrObjectStub(): StubElement<out PsiElement> {
|
private fun doCreateClassOrObjectStub(): StubElement<out PsiElement> {
|
||||||
val isClassObject = classKind == ProtoBuf.Class.Kind.CLASS_OBJECT
|
val isClassObject = classKind == ProtoBuf.Class.Kind.CLASS_OBJECT
|
||||||
val fqName = outerContext.memberFqNameProvider.getMemberFqName(classId.getRelativeClassName().shortName())
|
val fqName = outerContext.containerFqName.child(classId.getRelativeClassName().shortName())
|
||||||
val shortName = fqName.shortName()?.ref()
|
val shortName = fqName.shortName()?.ref()
|
||||||
val superTypeRefs = supertypeIds.filter {
|
val superTypeRefs = supertypeIds.filter {
|
||||||
//TODO: filtering function types should go away
|
//TODO: filtering function types should go away
|
||||||
@@ -184,7 +184,7 @@ private class ClassClsStubBuilder(
|
|||||||
KotlinClassStubImpl(
|
KotlinClassStubImpl(
|
||||||
JetStubElementTypes.ENUM_ENTRY,
|
JetStubElementTypes.ENUM_ENTRY,
|
||||||
classBody,
|
classBody,
|
||||||
qualifiedName = c.memberFqNameProvider.getMemberFqName(name).ref(),
|
qualifiedName = c.containerFqName.child(name).ref(),
|
||||||
name = name.ref(),
|
name = name.ref(),
|
||||||
superNames = array(),
|
superNames = array(),
|
||||||
isTrait = false,
|
isTrait = false,
|
||||||
|
|||||||
+4
-11
@@ -37,17 +37,10 @@ class ClsStubBuilderComponents(
|
|||||||
nameResolver: NameResolver,
|
nameResolver: NameResolver,
|
||||||
packageFqName: FqName
|
packageFqName: FqName
|
||||||
): ClsStubBuilderContext {
|
): ClsStubBuilderContext {
|
||||||
return ClsStubBuilderContext(this, nameResolver, MemberFqNameProvider(packageFqName), EmptyTypeParameters)
|
return ClsStubBuilderContext(this, nameResolver, packageFqName, EmptyTypeParameters)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO_R: remove?
|
|
||||||
class MemberFqNameProvider(val fqName: FqName) {
|
|
||||||
fun getMemberFqName(name: Name): FqName = fqName.child(name)
|
|
||||||
|
|
||||||
fun child(name: Name?): MemberFqNameProvider = if (name == null) this else MemberFqNameProvider(fqName.child(name))
|
|
||||||
}
|
|
||||||
|
|
||||||
trait TypeParameters {
|
trait TypeParameters {
|
||||||
fun get(id: Int): Name
|
fun get(id: Int): Name
|
||||||
|
|
||||||
@@ -72,7 +65,7 @@ class TypeParametersImpl(
|
|||||||
class ClsStubBuilderContext(
|
class ClsStubBuilderContext(
|
||||||
val components: ClsStubBuilderComponents,
|
val components: ClsStubBuilderComponents,
|
||||||
val nameResolver: NameResolver,
|
val nameResolver: NameResolver,
|
||||||
val memberFqNameProvider: MemberFqNameProvider,
|
val containerFqName: FqName,
|
||||||
val typeParameters: TypeParameters
|
val typeParameters: TypeParameters
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -80,7 +73,7 @@ private fun ClsStubBuilderContext.child(typeParameterList: List<ProtoBuf.TypePar
|
|||||||
return ClsStubBuilderContext(
|
return ClsStubBuilderContext(
|
||||||
this.components,
|
this.components,
|
||||||
this.nameResolver,
|
this.nameResolver,
|
||||||
this.memberFqNameProvider.child(name),
|
if (name != null) this.containerFqName.child(name) else this.containerFqName,
|
||||||
this.typeParameters.child(nameResolver, typeParameterList)
|
this.typeParameters.child(nameResolver, typeParameterList)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -89,7 +82,7 @@ private fun ClsStubBuilderContext.child(nameResolver: NameResolver): ClsStubBuil
|
|||||||
return ClsStubBuilderContext(
|
return ClsStubBuilderContext(
|
||||||
this.components,
|
this.components,
|
||||||
nameResolver,
|
nameResolver,
|
||||||
this.memberFqNameProvider,
|
this.containerFqName,
|
||||||
this.typeParameters
|
this.typeParameters
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user