[FIR2IR] Part 2. Don't create class symbols with signature
Signature calculation was already disabled for almost all cases in the scope of KT-64990
This commit is contained in:
committed by
Space Team
parent
9c21c2214a
commit
d0c9353d41
+5
-10
@@ -24,7 +24,6 @@ import org.jetbrains.kotlin.ir.declarations.*
|
|||||||
import org.jetbrains.kotlin.ir.symbols.*
|
import org.jetbrains.kotlin.ir.symbols.*
|
||||||
import org.jetbrains.kotlin.ir.symbols.impl.*
|
import org.jetbrains.kotlin.ir.symbols.impl.*
|
||||||
import org.jetbrains.kotlin.ir.types.IrType
|
import org.jetbrains.kotlin.ir.types.IrType
|
||||||
import org.jetbrains.kotlin.ir.util.IdSignature
|
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.name.SpecialNames
|
import org.jetbrains.kotlin.name.SpecialNames
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.runIf
|
import org.jetbrains.kotlin.utils.addToStdlib.runIf
|
||||||
@@ -178,18 +177,15 @@ class Fir2IrClassifierStorage(
|
|||||||
parent: IrDeclarationParent,
|
parent: IrDeclarationParent,
|
||||||
predefinedOrigin: IrDeclarationOrigin? = null
|
predefinedOrigin: IrDeclarationOrigin? = null
|
||||||
): IrClass {
|
): IrClass {
|
||||||
val symbol = createClassSymbol(signature = null)
|
val symbol = createClassSymbol()
|
||||||
return classifiersGenerator.createIrClass(regularClass, parent, symbol, predefinedOrigin).also {
|
return classifiersGenerator.createIrClass(regularClass, parent, symbol, predefinedOrigin).also {
|
||||||
@OptIn(LeakedDeclarationCaches::class)
|
@OptIn(LeakedDeclarationCaches::class)
|
||||||
cacheIrClass(regularClass, it)
|
cacheIrClass(regularClass, it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createClassSymbol(signature: IdSignature?): IrClassSymbol {
|
private fun createClassSymbol(): IrClassSymbol {
|
||||||
return when {
|
return IrClassSymbolImpl()
|
||||||
signature != null -> symbolTable.referenceClass(signature)
|
|
||||||
else -> IrClassSymbolImpl()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@LeakedDeclarationCaches
|
@LeakedDeclarationCaches
|
||||||
@@ -216,7 +212,7 @@ class Fir2IrClassifierStorage(
|
|||||||
return createAndCacheLocalIrClassOnTheFly(firClass)
|
return createAndCacheLocalIrClassOnTheFly(firClass)
|
||||||
}
|
}
|
||||||
require(firClass is FirRegularClass)
|
require(firClass is FirRegularClass)
|
||||||
val symbol = createClassSymbol(signature = null)
|
val symbol = createClassSymbol()
|
||||||
val classId = firClass.symbol.classId
|
val classId = firClass.symbol.classId
|
||||||
val parentId = classId.outerClassId
|
val parentId = classId.outerClassId
|
||||||
val parentClass = parentId?.let { session.symbolProvider.getClassLikeSymbolByClassId(it) }
|
val parentClass = parentId?.let { session.symbolProvider.getClassLikeSymbolByClassId(it) }
|
||||||
@@ -418,8 +414,7 @@ class Fir2IrClassifierStorage(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun createAndCacheCodeFragmentClass(codeFragment: FirCodeFragment, containingFile: IrFile): IrClass {
|
fun createAndCacheCodeFragmentClass(codeFragment: FirCodeFragment, containingFile: IrFile): IrClass {
|
||||||
val signature = signatureComposer.composeSignature(codeFragment)
|
val symbol = createClassSymbol()
|
||||||
val symbol = createClassSymbol(signature)
|
|
||||||
return classifiersGenerator.createCodeFragmentClass(codeFragment, containingFile, symbol).also {
|
return classifiersGenerator.createCodeFragmentClass(codeFragment, containingFile, symbol).also {
|
||||||
codeFragmentCache[codeFragment] = it
|
codeFragmentCache[codeFragment] = it
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user