diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/FirLazyBodiesCalculator.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/FirLazyBodiesCalculator.kt index e7762970cd7..a01b07a9e86 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/FirLazyBodiesCalculator.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/FirLazyBodiesCalculator.kt @@ -34,14 +34,14 @@ internal object FirLazyBodiesCalculator { fun calculateLazyBodiesInside(designation: FirDesignation) { calculateAnnotations(designation.target) designation.target.transform>( - FirLazyBodiesCalculatorTransformer, + FirTargetLazyBodiesCalculatorTransformer, designation.path.toPersistentList(), ) } - fun calculateLazyBodies(firFile: FirFile) { + fun calculateAllLazyExpressionsInFile(firFile: FirFile) { calculateAnnotations(firFile) - firFile.transform>(FirLazyBodiesCalculatorTransformer, persistentListOf()) + firFile.transform>(FirAllLazyBodiesCalculatorTransformer, persistentListOf()) } fun calculateAnnotations(firElement: FirElementWithResolveState) { @@ -295,12 +295,12 @@ private object FirLazyAnnotationTransformer : FirTransformer>() { - +private object FirAllLazyBodiesCalculatorTransformer : FirLazyBodiesCalculatorTransformer() { override fun transformFile(file: FirFile, data: PersistentList): FirFile { file.declarations.forEach { it.transformSingle(this, data) } + return file } @@ -312,8 +312,15 @@ private object FirLazyBodiesCalculatorTransformer : FirTransformer>() { + override fun transformElement(element: E, data: PersistentList): E = element override fun transformField(field: FirField, data: PersistentList): FirStatement { if (field.initializer is FirLazyExpression) { @@ -331,6 +338,7 @@ private object FirLazyBodiesCalculatorTransformer : FirTransformer