[fir2ir] Add missing 'lazyResolveToPhase()' to FIR/IR builtins
This commit is contained in:
@@ -14,9 +14,11 @@ import org.jetbrains.kotlin.descriptors.ClassKind
|
|||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
|
||||||
import org.jetbrains.kotlin.descriptors.Modality
|
import org.jetbrains.kotlin.descriptors.Modality
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||||
import org.jetbrains.kotlin.fir.descriptors.FirModuleDescriptor
|
import org.jetbrains.kotlin.fir.descriptors.FirModuleDescriptor
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||||
|
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||||
import org.jetbrains.kotlin.ir.BuiltInOperatorNames
|
import org.jetbrains.kotlin.ir.BuiltInOperatorNames
|
||||||
import org.jetbrains.kotlin.ir.IrBuiltIns
|
import org.jetbrains.kotlin.ir.IrBuiltIns
|
||||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||||
@@ -732,8 +734,9 @@ class IrBuiltInsOverFir(
|
|||||||
referenceClassByClassId(ClassId.topLevel(topLevelFqName))
|
referenceClassByClassId(ClassId.topLevel(topLevelFqName))
|
||||||
|
|
||||||
private fun referenceClassByClassId(classId: ClassId): IrClassSymbol? {
|
private fun referenceClassByClassId(classId: ClassId): IrClassSymbol? {
|
||||||
val firSymbol = components.session.symbolProvider.getClassLikeSymbolByClassId(classId) ?: return null
|
val firClassSymbol = components.session.symbolProvider.getClassLikeSymbolByClassId(classId) as? FirClassSymbol ?: return null
|
||||||
val firClassSymbol = firSymbol as? FirClassSymbol ?: return null
|
firClassSymbol.lazyResolveToPhase(FirResolvePhase.STATUS)
|
||||||
|
|
||||||
return components.classifierStorage.getIrClassSymbol(firClassSymbol)
|
return components.classifierStorage.getIrClassSymbol(firClassSymbol)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1195,13 +1198,15 @@ class IrBuiltInsOverFir(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun findFunctions(packageName: FqName, name: Name): List<IrSimpleFunctionSymbol> =
|
private fun findFunctions(packageName: FqName, name: Name): List<IrSimpleFunctionSymbol> {
|
||||||
components.session.symbolProvider.getTopLevelFunctionSymbols(packageName, name).mapNotNull { firOpSymbol ->
|
return components.session.symbolProvider.getTopLevelFunctionSymbols(packageName, name)
|
||||||
components.declarationStorage.getIrFunctionSymbol(firOpSymbol) as? IrSimpleFunctionSymbol
|
.onEach { it.lazyResolveToPhase(FirResolvePhase.STATUS) }
|
||||||
}
|
.mapNotNull { components.declarationStorage.getIrFunctionSymbol(it) as? IrSimpleFunctionSymbol }
|
||||||
|
}
|
||||||
|
|
||||||
private fun findProperties(packageName: FqName, name: Name): List<IrPropertySymbol> =
|
private fun findProperties(packageName: FqName, name: Name): List<IrPropertySymbol> {
|
||||||
components.session.symbolProvider.getTopLevelPropertySymbols(packageName, name).mapNotNull { firOpSymbol ->
|
return components.session.symbolProvider.getTopLevelPropertySymbols(packageName, name)
|
||||||
components.declarationStorage.getIrPropertySymbol(firOpSymbol) as? IrPropertySymbol
|
.onEach { it.lazyResolveToPhase(FirResolvePhase.STATUS) }
|
||||||
}
|
.mapNotNull { components.declarationStorage.getIrPropertySymbol(it) as? IrPropertySymbol }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user