[IR] Remove descriptor-related methods from ReferenceSymbolTable
Replace them with calls to ReferenceSymbolTableExtension
This commit is contained in:
committed by
Space Team
parent
4986cb14aa
commit
b886b7488d
+4
-4
@@ -111,7 +111,7 @@ open class IrPluginContextImpl constructor(
|
||||
return resolveSymbol(fqName.parent()) { scope ->
|
||||
val classDescriptor = scope.getContributedClassifier(fqName.shortName(), NoLookupLocation.FROM_BACKEND) as? ClassDescriptor?
|
||||
classDescriptor?.let {
|
||||
st.referenceClass(it)
|
||||
st.descriptorExtension.referenceClass(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -122,7 +122,7 @@ open class IrPluginContextImpl constructor(
|
||||
return resolveSymbol(fqName.parent()) { scope ->
|
||||
val aliasDescriptor = scope.getContributedClassifier(fqName.shortName(), NoLookupLocation.FROM_BACKEND) as? TypeAliasDescriptor?
|
||||
aliasDescriptor?.let {
|
||||
st.referenceTypeAlias(it)
|
||||
st.descriptorExtension.referenceTypeAlias(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -138,7 +138,7 @@ open class IrPluginContextImpl constructor(
|
||||
assert(!fqName.isRoot)
|
||||
return resolveSymbolCollection(fqName.parent()) { scope ->
|
||||
val descriptors = scope.getContributedFunctions(fqName.shortName(), NoLookupLocation.FROM_BACKEND)
|
||||
descriptors.map { st.referenceSimpleFunction(it) }
|
||||
descriptors.map { st.descriptorExtension.referenceSimpleFunction(it) }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,7 +147,7 @@ open class IrPluginContextImpl constructor(
|
||||
assert(!fqName.isRoot)
|
||||
return resolveSymbolCollection(fqName.parent()) { scope ->
|
||||
val descriptors = scope.getContributedVariables(fqName.shortName(), NoLookupLocation.FROM_BACKEND)
|
||||
descriptors.map { st.referenceProperty(it) }
|
||||
descriptors.map { st.descriptorExtension.referenceProperty(it) }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+7
-7
@@ -64,28 +64,28 @@ open class ExpectDeclarationRemover(val symbolTable: ReferenceSymbolTable, priva
|
||||
}
|
||||
|
||||
override fun getActualClass(descriptor: ClassDescriptor): IrClassSymbol? {
|
||||
return symbolTable.referenceClass(
|
||||
return symbolTable.descriptorExtension.referenceClass(
|
||||
descriptor.findActualForExpect() as? ClassDescriptor ?: return null
|
||||
)
|
||||
}
|
||||
|
||||
override fun getActualProperty(descriptor: PropertyDescriptor): ActualPropertyResult? {
|
||||
val newSymbol = symbolTable.referenceProperty(
|
||||
val newSymbol = symbolTable.descriptorExtension.referenceProperty(
|
||||
descriptor.findActualForExpect() as? PropertyDescriptor ?: return null
|
||||
)
|
||||
val newGetter = newSymbol.descriptor.getter?.let { symbolTable.referenceSimpleFunction(it) }
|
||||
val newSetter = newSymbol.descriptor.setter?.let { symbolTable.referenceSimpleFunction(it) }
|
||||
val newGetter = newSymbol.descriptor.getter?.let { symbolTable.descriptorExtension.referenceSimpleFunction(it) }
|
||||
val newSetter = newSymbol.descriptor.setter?.let { symbolTable.descriptorExtension.referenceSimpleFunction(it) }
|
||||
return ActualPropertyResult(newSymbol, newGetter, newSetter)
|
||||
}
|
||||
|
||||
override fun getActualConstructor(descriptor: ClassConstructorDescriptor): IrConstructorSymbol? {
|
||||
return symbolTable.referenceConstructor(
|
||||
return symbolTable.descriptorExtension.referenceConstructor(
|
||||
descriptor.findActualForExpect() as? ClassConstructorDescriptor ?: return null
|
||||
)
|
||||
}
|
||||
|
||||
override fun getActualFunction(descriptor: FunctionDescriptor): IrSimpleFunctionSymbol? {
|
||||
return symbolTable.referenceSimpleFunction(
|
||||
return symbolTable.descriptorExtension.referenceSimpleFunction(
|
||||
descriptor.findActualForExpect() as? FunctionDescriptor ?: return null
|
||||
)
|
||||
}
|
||||
@@ -173,7 +173,7 @@ open class ExpectDeclarationRemover(val symbolTable: ReferenceSymbolTable, priva
|
||||
override fun visitGetValue(expression: IrGetValue): IrExpression {
|
||||
expression.transformChildrenVoid()
|
||||
return expression.actualize(
|
||||
classActualizer = { symbolTable.referenceClass(it.descriptor.findActualForExpect() as ClassDescriptor).owner },
|
||||
classActualizer = { symbolTable.descriptorExtension.referenceClass(it.descriptor.findActualForExpect() as ClassDescriptor).owner },
|
||||
functionActualizer = { symbolTable.referenceFunction(it.descriptor.findActualForExpect() as FunctionDescriptor).owner }
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user