[FIR] Create 'FirCodeFragment' with a lazy block if requested
diff --git a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/PsiRawFirBuilder.kt b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/PsiRawFirBuilder.kt
index fa3231c..e34f302 100644
--- a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/PsiRawFirBuilder.kt
+++ b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/PsiRawFirBuilder.kt
@@ -1181,10 +1181,12 @@
moduleData = baseModuleData
origin = FirDeclarationOrigin.Source
symbol = FirCodeFragmentSymbol()
- block = when (file) {
- is KtExpressionCodeFragment -> file.getContentElement()?.toFirBlock() ?: buildEmptyExpressionBlock()
- is KtBlockCodeFragment -> configureBlockWithoutBuilding(file.getContentElement()).build()
- else -> error("Unexpected code fragment type: " + file::class.java)
+ block = buildOrLazyBlock {
+ when (file) {
+ is KtExpressionCodeFragment -> file.getContentElement()?.toFirBlock() ?: buildEmptyExpressionBlock()
+ is KtBlockCodeFragment -> configureBlockWithoutBuilding(file.getContentElement()).build()
+ else -> error("Unexpected code fragment type: " + file::class.java)
+ }
}
}
}