Psi2ir: support mode without generation of bodies

This is needed for kapt + JVM IR.

 #KT-49682
This commit is contained in:
Alexander Udalov
2021-12-20 22:19:46 +01:00
parent b3820564b0
commit 25edf64daf
19 changed files with 250 additions and 34 deletions
@@ -88,7 +88,14 @@ open class JvmIrCodegenFactory(
val symbolTable = SymbolTable(signaturer, IrFactoryImpl)
mangler to symbolTable
}
val psi2ir = Psi2IrTranslator(input.languageVersionSettings, Psi2IrConfiguration(input.ignoreErrors))
val psi2ir = Psi2IrTranslator(
input.languageVersionSettings,
Psi2IrConfiguration(
input.ignoreErrors,
allowUnboundSymbols = false,
input.skipBodies,
)
)
val messageLogger = input.configuration[IrMessageLogger.IR_MESSAGE_LOGGER] ?: IrMessageLogger.None
val psi2irContext = psi2ir.createGeneratorContext(
input.module,
@@ -121,7 +121,7 @@ private class MoveOrCopyCompanionObjectFieldsLowering(val context: JvmBackendCon
parent = newParent
correspondingPropertySymbol = property.symbol
annotations += oldField.annotations
initializer = with(oldField.initializer!!) {
initializer = oldField.initializer?.run {
IrExpressionBodyImpl(startOffset, endOffset, (expression as IrConst<*>).shallowCopy())
}