[FIR] Introduce utility for creating ConeClassLikeLookupTagImpl from ClassId
`classId.toLookupTag()` looks much cleaner than `ConeClassLikeLookupTagImpl(classId)`
This commit is contained in:
committed by
Space Team
parent
6c449e29cd
commit
125b773205
+1
-3
@@ -27,7 +27,6 @@ import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
|
||||
import org.jetbrains.kotlin.fir.symbols.ConeClassifierLookupTag
|
||||
import org.jetbrains.kotlin.fir.symbols.ConeTypeParameterLookupTag
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeAliasSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||
@@ -49,8 +48,7 @@ import org.jetbrains.org.objectweb.asm.Type
|
||||
class FirJvmTypeMapper(val session: FirSession) : FirSessionComponent {
|
||||
companion object {
|
||||
val NON_EXISTENT_ID = ClassId.topLevel(StandardNames.NON_EXISTENT_CLASS)
|
||||
private val typeForNonExistentClass = ConeClassLikeLookupTagImpl(NON_EXISTENT_ID)
|
||||
.constructClassType(emptyArray(), isNullable = false)
|
||||
private val typeForNonExistentClass = NON_EXISTENT_ID.toLookupTag().constructClassType(emptyArray(), isNullable = false)
|
||||
}
|
||||
|
||||
fun mapType(
|
||||
|
||||
@@ -20,10 +20,10 @@ import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
|
||||
import org.jetbrains.kotlin.fir.symbols.Fir2IrClassSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.Fir2IrEnumEntrySymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.Fir2IrTypeAliasSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.toLookupTag
|
||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
|
||||
@@ -70,14 +70,14 @@ class Fir2IrClassifierStorage(
|
||||
|
||||
fun preCacheBuiltinClasses() {
|
||||
for ((classId, irBuiltinSymbol) in typeConverter.classIdToSymbolMap) {
|
||||
val firClass = ConeClassLikeLookupTagImpl(classId).toSymbol(session)!!.fir as FirRegularClass
|
||||
val firClass = classId.toLookupTag().toSymbol(session)!!.fir as FirRegularClass
|
||||
val irClass = irBuiltinSymbol.owner
|
||||
classCache[firClass] = irClass
|
||||
processClassHeader(firClass, irClass)
|
||||
declarationStorage.preCacheBuiltinClassMembers(firClass, irClass)
|
||||
}
|
||||
for ((primitiveClassId, primitiveArrayId) in StandardClassIds.primitiveArrayTypeByElementType) {
|
||||
val firClass = ConeClassLikeLookupTagImpl(primitiveArrayId).toSymbol(session)!!.fir as FirRegularClass
|
||||
val firClass = primitiveArrayId.toLookupTag().toSymbol(session)!!.fir as FirRegularClass
|
||||
val irType = typeConverter.classIdToTypeMap[primitiveClassId]
|
||||
val irClass = irBuiltIns.primitiveArrayForType[irType]!!.owner
|
||||
classCache[firClass] = irClass
|
||||
@@ -588,7 +588,7 @@ class Fir2IrClassifierStorage(
|
||||
)
|
||||
|
||||
val parentId = classId.outerClassId
|
||||
val parentClass = parentId?.let { getIrClassSymbolForNotFoundClass(ConeClassLikeLookupTagImpl(it)) }
|
||||
val parentClass = parentId?.let { getIrClassSymbolForNotFoundClass(it.toLookupTag()) }
|
||||
val irParent = parentClass?.owner ?: declarationStorage.getIrExternalPackageFragment(classId.packageFqName)
|
||||
|
||||
val symbol = Fir2IrClassSymbol(signature)
|
||||
|
||||
+3
-3
@@ -826,7 +826,7 @@ class Fir2IrDeclarationStorage(
|
||||
createIrProperty(
|
||||
field.toStubProperty(),
|
||||
irParent,
|
||||
fakeOverrideOwnerLookupTag = containingClassId?.let { ConeClassLikeLookupTagImpl(it) }
|
||||
fakeOverrideOwnerLookupTag = containingClassId?.let { it.toLookupTag() }
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -854,7 +854,7 @@ class Fir2IrDeclarationStorage(
|
||||
thisReceiverOwner: IrClass? = irParent as? IrClass,
|
||||
predefinedOrigin: IrDeclarationOrigin? = null,
|
||||
isLocal: Boolean = false,
|
||||
fakeOverrideOwnerLookupTag: ConeClassLikeLookupTag? = (irParent as? IrClass)?.classId?.let { ConeClassLikeLookupTagImpl(it) },
|
||||
fakeOverrideOwnerLookupTag: ConeClassLikeLookupTag? = (irParent as? IrClass)?.classId?.let { it.toLookupTag() },
|
||||
forceTopLevelPrivate: Boolean = false,
|
||||
): IrProperty = convertCatching(property) {
|
||||
val origin =
|
||||
@@ -1077,7 +1077,7 @@ class Fir2IrDeclarationStorage(
|
||||
): IrField = convertCatching(field) {
|
||||
val type = typeRef.toIrType()
|
||||
val classId = (irParent as? IrClass)?.classId
|
||||
val containingClassLookupTag = classId?.let { ConeClassLikeLookupTagImpl(it) }
|
||||
val containingClassLookupTag = classId?.let { it.toLookupTag() }
|
||||
val signature = signatureComposer.composeSignature(field, containingClassLookupTag)
|
||||
return field.convertWithOffsets { startOffset, endOffset ->
|
||||
if (signature != null) {
|
||||
|
||||
Reference in New Issue
Block a user