Refactor: get rid of MemberFqNameProvider

This commit is contained in:
Pavel V. Talanov
2015-01-29 15:08:46 +03:00
parent d52d1035d0
commit 11ed783e1e
3 changed files with 7 additions and 14 deletions
@@ -98,7 +98,7 @@ private class CallableClsStubBuilder(
private fun doCreateCallableStub(): StubElement<out PsiElement> {
val callableKind = Flags.CALLABLE_KIND[callableProto.getFlags()]
val callableName = c.nameResolver.getName(callableProto.getName())
val callableFqName = c.memberFqNameProvider.getMemberFqName(callableName)
val callableFqName = c.containerFqName.child(callableName)
return when (callableKind) {
ProtoBuf.Callable.CallableKind.FUN -> {
@@ -101,7 +101,7 @@ private class ClassClsStubBuilder(
private fun doCreateClassOrObjectStub(): StubElement<out PsiElement> {
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 superTypeRefs = supertypeIds.filter {
//TODO: filtering function types should go away
@@ -184,7 +184,7 @@ private class ClassClsStubBuilder(
KotlinClassStubImpl(
JetStubElementTypes.ENUM_ENTRY,
classBody,
qualifiedName = c.memberFqNameProvider.getMemberFqName(name).ref(),
qualifiedName = c.containerFqName.child(name).ref(),
name = name.ref(),
superNames = array(),
isTrait = false,
@@ -37,17 +37,10 @@ class ClsStubBuilderComponents(
nameResolver: NameResolver,
packageFqName: FqName
): 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 {
fun get(id: Int): Name
@@ -72,7 +65,7 @@ class TypeParametersImpl(
class ClsStubBuilderContext(
val components: ClsStubBuilderComponents,
val nameResolver: NameResolver,
val memberFqNameProvider: MemberFqNameProvider,
val containerFqName: FqName,
val typeParameters: TypeParameters
)
@@ -80,7 +73,7 @@ private fun ClsStubBuilderContext.child(typeParameterList: List<ProtoBuf.TypePar
return ClsStubBuilderContext(
this.components,
this.nameResolver,
this.memberFqNameProvider.child(name),
if (name != null) this.containerFqName.child(name) else this.containerFqName,
this.typeParameters.child(nameResolver, typeParameterList)
)
}
@@ -89,7 +82,7 @@ private fun ClsStubBuilderContext.child(nameResolver: NameResolver): ClsStubBuil
return ClsStubBuilderContext(
this.components,
nameResolver,
this.memberFqNameProvider,
this.containerFqName,
this.typeParameters
)
}