diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirReferenceShortener.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirReferenceShortener.kt index 5f61fd9661a..57553b76fda 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirReferenceShortener.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirReferenceShortener.kt @@ -67,7 +67,6 @@ import org.jetbrains.kotlin.resolve.calls.tower.CandidateApplicability import org.jetbrains.kotlin.utils.addIfNotNull import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull import org.jetbrains.kotlin.utils.exceptions.errorWithAttachment -import java.util.Arrays internal class KtFirReferenceShortener( override val analysisSession: KtFirAnalysisSession, @@ -433,7 +432,7 @@ private class CollectingVisitor(private val collector: ElementsToShortenCollecto } override fun visitScript(script: FirScript) { - script.statements.forEach { + script.declarations.forEach { it.accept(this) } } diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/pointers/KtFirResultPropertySymbolPointer.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/pointers/KtFirResultPropertySymbolPointer.kt index c96086c86ef..0ef0a511258 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/pointers/KtFirResultPropertySymbolPointer.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/pointers/KtFirResultPropertySymbolPointer.kt @@ -25,7 +25,7 @@ internal class KtFirResultPropertySymbolPointer(private val scriptPointer: KtSym scriptPointer.restoreSymbol()?.firSymbol?.fir as? FirScript } ?: return null - val lastProperty = script.statements.lastOrNull() as? FirProperty ?: return null + val lastProperty = script.declarations.lastOrNull() as? FirProperty ?: return null if (lastProperty.origin !is FirDeclarationOrigin.ScriptCustomization.ResultProperty) return null return analysisSession.firSymbolBuilder.variableLikeBuilder.buildPropertySymbol(lastProperty.symbol) as? KtKotlinPropertySymbol } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/LowLevelFirApiFacadeForResolveOnAir.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/LowLevelFirApiFacadeForResolveOnAir.kt index bb135a907a1..39f944b6fac 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/LowLevelFirApiFacadeForResolveOnAir.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/LowLevelFirApiFacadeForResolveOnAir.kt @@ -364,9 +364,9 @@ object LowLevelFirApiFacadeForResolveOnAir { * We assume that [newScript] has the same declarations as [originalScript] */ private fun restoreOriginalDeclarationsInScript(originalScript: FirScript, newScript: FirScript) { - val updatedStatements = ArrayList(newScript.statements.size) - val originalDeclarations = originalScript.statements.iterator() - for (recreatedStatement in newScript.statements) { + val updatedStatements = ArrayList(newScript.declarations.size) + val originalDeclarations = originalScript.declarations.iterator() + for (recreatedStatement in newScript.declarations) { updatedStatements += if (recreatedStatement.isScriptStatement) { recreatedStatement } else { @@ -379,12 +379,12 @@ object LowLevelFirApiFacadeForResolveOnAir { scriptDeclarationInconsistencyError(originalScript, newScript) } - newScript.replaceStatements(updatedStatements) + newScript.replaceDeclarations(updatedStatements) } private fun scriptDeclarationInconsistencyError(originalScript: FirScript, newScript: FirScript): Nothing { - val originalDeclarations = originalScript.statements.filterNot(FirStatement::isScriptStatement) - val newDeclarations = newScript.statements.filterNot(FirStatement::isScriptStatement) + val originalDeclarations = originalScript.declarations.filterNot(FirStatement::isScriptStatement) + val newDeclarations = newScript.declarations.filterNot(FirStatement::isScriptStatement) errorWithAttachment("New script has ${if (newDeclarations.size > originalDeclarations.size) "more" else "less"} declarations") { withFirEntry("originalScript", originalScript) withFirEntry("newScript", newScript) diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/file/structure/FileStructureElement.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/file/structure/FileStructureElement.kt index c791669363c..d6797e6c5c7 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/file/structure/FileStructureElement.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/file/structure/FileStructureElement.kt @@ -141,7 +141,7 @@ internal class RootScriptStructureElement( internal fun visitScriptDependentElements(script: FirScript, visitor: FirVisitor, data: R) { script.annotations.forEach { it.accept(visitor, data) } script.contextReceivers.forEach { it.accept(visitor, data) } - script.statements.forEach { + script.declarations.forEach { if (it.isScriptStatement) { it.accept(visitor, data) } 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 1cea6ca671e..da6d1530493 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 @@ -87,7 +87,7 @@ internal object FirLazyBodiesCalculator { fun createStatementsForScript(script: FirScript): List { val newScript = revive(FirDesignation(emptyList(), script)) - return newScript.statements + return newScript.declarations } fun needCalculatingAnnotationCall(firAnnotationCall: FirAnnotationCall): Boolean = diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/LLFirPhaseUpdater.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/LLFirPhaseUpdater.kt index 280b679b91d..345bda8940e 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/LLFirPhaseUpdater.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/LLFirPhaseUpdater.kt @@ -37,7 +37,7 @@ internal object LLFirPhaseUpdater { is FirAnonymousInitializer -> target.body?.accept(PhaseUpdatingTransformer, newPhase) is FirScript -> { target.parameters.forEach { it.accept(PhaseUpdatingTransformer, newPhase) } - for (statement in target.statements) { + for (statement in target.declarations) { if (!statement.isScriptStatement) continue statement.accept(PhaseUpdatingTransformer, newPhase) } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAbstractBodyTargetResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAbstractBodyTargetResolver.kt index fd02b30d94e..13b0f592339 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAbstractBodyTargetResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirAbstractBodyTargetResolver.kt @@ -85,7 +85,7 @@ internal abstract class LLFirAbstractBodyTargetResolver( protected fun resolveScript(script: FirScript) { transformer.declarationsTransformer?.withScript(script) { script.parameters.forEach { it.transformSingle(transformer, ResolutionMode.ContextIndependent) } - script.transformStatements( + script.transformDeclarations( transformer = object : FirTransformer() { override fun transformElement(element: E, data: Any?): E { if (element !is FirStatement || !element.isScriptStatement) return element diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirBodyLazyResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirBodyLazyResolver.kt index 697148367fc..db8bdeca605 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirBodyLazyResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirBodyLazyResolver.kt @@ -291,11 +291,11 @@ private class LLFirBodyTargetResolver( internal object BodyStateKeepers { val SCRIPT: StateKeeper = stateKeeper { script, designation -> - val oldStatements = script.statements + val oldStatements = script.declarations if (oldStatements.none { it.isScriptStatement } || script.isCertainlyResolved) return@stateKeeper add(RESULT_PROPERTY, designation) - add(FirScript::statements, FirScript::replaceStatements) { + add(FirScript::declarations, FirScript::replaceDeclarations) { val recreatedStatements = FirLazyBodiesCalculator.createStatementsForScript(script) requireSameSize(oldStatements, recreatedStatements) @@ -447,7 +447,7 @@ private fun StateKeeperScope.preserveContra } } -private fun FirScript.findResultProperty(): FirProperty? = statements.findIsInstanceAnd { +private fun FirScript.findResultProperty(): FirProperty? = declarations.findIsInstanceAnd { it.origin == FirDeclarationOrigin.ScriptCustomization.ResultProperty } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirCompilerAnnotationsLazyResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirCompilerAnnotationsLazyResolver.kt index ba2a418ec42..9a4666715a5 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirCompilerAnnotationsLazyResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirCompilerAnnotationsLazyResolver.kt @@ -321,7 +321,7 @@ private fun FirAnnotationContainer.hasAnnotationsToResolve(): Boolean { this.setter?.hasAnnotationsToResolve() == true || this.backingField?.hasAnnotationsToResolve() == true - is FirScript -> statements.any { it.isScriptDependentDeclaration && it.hasAnnotationsToResolve() } + is FirScript -> declarations.any { it.isScriptDependentDeclaration && it.hasAnnotationsToResolve() } else -> false } } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirImplicitTypesLazyResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirImplicitTypesLazyResolver.kt index e44c13e0f1e..91241670e9a 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirImplicitTypesLazyResolver.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/transformers/LLFirImplicitTypesLazyResolver.kt @@ -168,7 +168,7 @@ internal class LLFirImplicitBodyTargetResolver( } is FirScript -> { - if (target.statements.any { it.isScriptDependentDeclaration }) { + if (target.declarations.any { it.isScriptDependentDeclaration }) { resolve(target, BodyStateKeepers.SCRIPT) } } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/FirElementFinder.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/FirElementFinder.kt index d7bfcd053ac..42ce87af623 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/FirElementFinder.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/FirElementFinder.kt @@ -97,7 +97,7 @@ internal object FirElementFinder { } subDeclaration is FirScript -> { - val scriptDeclarations = subDeclaration.statements.asSequence().filterIsInstance() + val scriptDeclarations = subDeclaration.declarations.asSequence().filterIsInstance() if (find(scriptDeclarations.asIterable(), classIdPathIndex)) { return true } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/declarationUtils.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/declarationUtils.kt index 922937b9b06..e89a9584709 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/declarationUtils.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/declarationUtils.kt @@ -60,7 +60,7 @@ internal fun KtDeclaration.findSourceNonLocalFirDeclaration(firFile: FirFile, pr return@findSourceNonLocalFirDeclarationByProvider firScript?.takeIf { it.psi == declaration } } - firScript?.statements?.filterIsInstance() + firScript?.declarations?.filterIsInstance() } else { firFile.declarations } @@ -211,7 +211,7 @@ val FirDeclaration.isGeneratedDeclaration get() = realPsi == null internal inline fun FirScript.forEachDeclaration(action: (FirDeclaration) -> Unit) { - for (statement in statements) { + for (statement in declarations) { if (statement.isScriptStatement) continue action(statement as FirDeclaration) } @@ -242,7 +242,7 @@ internal val FirStatement.isScriptDependentDeclaration: Boolean get() = this is FirDeclaration && origin == FirDeclarationOrigin.ScriptCustomization.ResultProperty internal inline fun FirScript.forEachDependentDeclaration(action: (FirDeclaration) -> Unit) { - for (statement in statements) { + for (statement in declarations) { if (statement !is FirDeclaration || !statement.isScriptDependentDeclaration) continue action(statement) } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/firCheckResolvedUtils.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/firCheckResolvedUtils.kt index 05e3600f4ce..0b423803f09 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/firCheckResolvedUtils.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/util/firCheckResolvedUtils.kt @@ -108,7 +108,7 @@ internal fun checkBodyIsResolved(function: FirFunction) { } internal fun checkStatementsAreResolved(script: FirScript) { - for (statement in script.statements) { + for (statement in script.declarations) { if (statement.isScriptStatement && statement is FirExpression) { checkExpressionTypeIsResolved(statement.coneTypeOrNull, "script statement", script) { withFirEntry("expression", statement) diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractFirLazyDeclarationResolveTestCase.kt b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractFirLazyDeclarationResolveTestCase.kt index 0d14551ce68..2433a75eab1 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractFirLazyDeclarationResolveTestCase.kt +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractFirLazyDeclarationResolveTestCase.kt @@ -91,7 +91,7 @@ abstract class AbstractFirLazyDeclarationResolveTestCase : AbstractLowLevelApiLa val (classSymbol, declarations) = when (symbol) { is FirClassSymbol -> symbol to symbol.declarationSymbols is FirScriptSymbol -> { - symbol to symbol.fir.let { it.parameters + it.statements }.mapNotNull { (it as? FirDeclaration)?.symbol } + symbol to symbol.fir.let { it.parameters + it.declarations }.mapNotNull { (it as? FirDeclaration)?.symbol } } else -> error("Unknown container: ${symbol::class.simpleName}") diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirTopLevelPropertiesChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirTopLevelPropertiesChecker.kt index 68889c51074..1823b2e4437 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirTopLevelPropertiesChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirTopLevelPropertiesChecker.kt @@ -41,7 +41,7 @@ object FirTopLevelPropertiesChecker : FirFileChecker() { object FirScriptPropertiesChecker : FirScriptChecker() { override fun check(declaration: FirScript, context: CheckerContext, reporter: DiagnosticReporter) { - val topLevelProperties = declaration.statements.filterIsInstance() + val topLevelProperties = declaration.declarations.filterIsInstance() checkFileLikeDeclaration(declaration, topLevelProperties, context, reporter) } } diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt index 80accfdd1d3..b00e30231fd 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt @@ -518,7 +518,7 @@ class Fir2IrConverter( addDeclarationToParentIfNeeded(irScript) declarationStorage.withScope(irScript.symbol) { irScript.parent = parent - for (scriptStatement in declaration.statements) { + for (scriptStatement in declaration.declarations) { when (scriptStatement) { is FirRegularClass -> { registerClassAndNestedClasses(scriptStatement, irScript) @@ -528,7 +528,7 @@ class Fir2IrConverter( else -> {} } } - for (scriptStatement in declaration.statements) { + for (scriptStatement in declaration.declarations) { if (scriptStatement is FirDeclaration) { processMemberDeclaration(scriptStatement, containingClass = null, irScript, delegateFieldToPropertyMap = null) } diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt index e73b915bf9d..0549336d982 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt @@ -254,7 +254,7 @@ class Fir2IrVisitor( conversionScope.withParent(irScript) { val destructComposites = mutableMapOf, IrComposite>() - for (statement in script.statements) { + for (statement in script.declarations) { val irStatement = if (statement is FirDeclaration) { when { statement is FirProperty && statement.name == SpecialNames.UNDERSCORE_FOR_UNUSED_VAR -> { diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirScriptDeclarationsScope.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirScriptDeclarationsScope.kt index 307e0d5a0ef..e6ce237f6b2 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirScriptDeclarationsScope.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirScriptDeclarationsScope.kt @@ -22,7 +22,7 @@ class FirScriptDeclarationsScope( private val callablesIndex: Map>> = run { val result = mutableMapOf>>() - loop@ for (statement in script.statements) { + loop@ for (statement in script.declarations) { if (statement is FirCallableDeclaration) { val name = when (statement) { is FirVariable -> if (statement.isSynthetic) continue@loop else statement.name @@ -38,7 +38,7 @@ class FirScriptDeclarationsScope( private val classIndex: Map = run { val result = mutableMapOf() - for (declaration in script.statements) { + for (declaration in script.declarations) { if (declaration is FirRegularClass) { result[declaration.name] = declaration.symbol } 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 4dcddacc53f..e44b848ab04 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 @@ -1286,7 +1286,7 @@ open class PsiRawFirBuilder( for (declaration in script.declarations) { when (declaration) { is KtScriptInitializer -> { - declaration.body?.let { statements.add(it.toFirStatement()) } + declaration.body?.let { declarations.add(it.toFirStatement()) } } is KtDestructuringDeclaration -> { val destructuringContainerVar = generateTemporaryVariable( @@ -1299,9 +1299,9 @@ open class PsiRawFirBuilder( ).apply { isDestructuringDeclarationContainerVariable = true } - statements.add(destructuringContainerVar) + declarations.add(destructuringContainerVar) - statements.addDestructuringVariables( + declarations.addDestructuringVariables( moduleData, declaration, destructuringContainerVar, @@ -1312,7 +1312,7 @@ open class PsiRawFirBuilder( } } else -> { - statements.add(declaration.toFirStatement()) + declarations.add(declaration.toFirStatement()) } } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/AbstractFirSpecificAnnotationResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/AbstractFirSpecificAnnotationResolveTransformer.kt index df2ac843d85..ab7e1133480 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/AbstractFirSpecificAnnotationResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/plugin/AbstractFirSpecificAnnotationResolveTransformer.kt @@ -403,7 +403,7 @@ abstract class AbstractFirSpecificAnnotationResolveTransformer( computationSession.recordThatAnnotationsAreResolved(script) transformDeclaration(script, null).also { transformChildren(script) { - script.transformStatements(this, data) + script.transformDeclarations(this, data) } } } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirScript.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirScript.kt index 15bdcd5cd6b..7ce167bc404 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirScript.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirScript.kt @@ -30,7 +30,7 @@ abstract class FirScript : FirDeclaration(), FirControlFlowGraphOwner { abstract override val attributes: FirDeclarationAttributes abstract override val controlFlowGraphReference: FirControlFlowGraphReference? abstract val name: Name - abstract val statements: List + abstract val declarations: List abstract override val symbol: FirScriptSymbol abstract val parameters: List abstract val contextReceivers: List @@ -47,9 +47,9 @@ abstract class FirScript : FirDeclaration(), FirControlFlowGraphOwner { abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) - abstract fun replaceStatements(newStatements: List) + abstract fun replaceDeclarations(newDeclarations: List) abstract override fun transformAnnotations(transformer: FirTransformer, data: D): FirScript - abstract fun transformStatements(transformer: FirTransformer, data: D): FirScript + abstract fun transformDeclarations(transformer: FirTransformer, data: D): FirScript } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirScriptBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirScriptBuilder.kt index 01f974b8d96..8eb86ea9139 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirScriptBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirScriptBuilder.kt @@ -32,7 +32,7 @@ class FirScriptBuilder : FirAnnotationContainerBuilder { lateinit var origin: FirDeclarationOrigin var attributes: FirDeclarationAttributes = FirDeclarationAttributes() lateinit var name: Name - val statements: MutableList = mutableListOf() + val declarations: MutableList = mutableListOf() lateinit var symbol: FirScriptSymbol val parameters: MutableList = mutableListOf() val contextReceivers: MutableList = mutableListOf() @@ -47,7 +47,7 @@ class FirScriptBuilder : FirAnnotationContainerBuilder { origin, attributes, name, - statements.toMutableOrEmpty(), + declarations.toMutableOrEmpty(), symbol, parameters, contextReceivers.toMutableOrEmpty(), @@ -78,7 +78,7 @@ inline fun buildScriptCopy(original: FirScript, init: FirScriptBuilder.() -> Uni copyBuilder.origin = original.origin copyBuilder.attributes = original.attributes.copy() copyBuilder.name = original.name - copyBuilder.statements.addAll(original.statements) + copyBuilder.declarations.addAll(original.declarations) copyBuilder.symbol = original.symbol copyBuilder.parameters.addAll(original.parameters) copyBuilder.contextReceivers.addAll(original.contextReceivers) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirScriptImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirScriptImpl.kt index f7b77db3a2d..73b6107719f 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirScriptImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirScriptImpl.kt @@ -33,7 +33,7 @@ internal class FirScriptImpl( override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, override val name: Name, - override var statements: MutableOrEmptyList, + override var declarations: MutableOrEmptyList, override val symbol: FirScriptSymbol, override val parameters: MutableList, override var contextReceivers: MutableOrEmptyList, @@ -49,7 +49,7 @@ internal class FirScriptImpl( override fun acceptChildren(visitor: FirVisitor, data: D) { annotations.forEach { it.accept(visitor, data) } controlFlowGraphReference?.accept(visitor, data) - statements.forEach { it.accept(visitor, data) } + declarations.forEach { it.accept(visitor, data) } parameters.forEach { it.accept(visitor, data) } contextReceivers.forEach { it.accept(visitor, data) } } @@ -57,7 +57,7 @@ internal class FirScriptImpl( override fun transformChildren(transformer: FirTransformer, data: D): FirScriptImpl { transformAnnotations(transformer, data) controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data) - transformStatements(transformer, data) + transformDeclarations(transformer, data) parameters.transformInplace(transformer, data) contextReceivers.transformInplace(transformer, data) return this @@ -68,8 +68,8 @@ internal class FirScriptImpl( return this } - override fun transformStatements(transformer: FirTransformer, data: D): FirScriptImpl { - statements.transformInplace(transformer, data) + override fun transformDeclarations(transformer: FirTransformer, data: D): FirScriptImpl { + declarations.transformInplace(transformer, data) return this } @@ -81,7 +81,7 @@ internal class FirScriptImpl( controlFlowGraphReference = newControlFlowGraphReference } - override fun replaceStatements(newStatements: List) { - statements = newStatements.toMutableOrEmpty() + override fun replaceDeclarations(newDeclarations: List) { + declarations = newDeclarations.toMutableOrEmpty() } } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirRenderer.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirRenderer.kt index 95d19251c2d..e1b61b98361 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirRenderer.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirRenderer.kt @@ -223,7 +223,7 @@ class FirRenderer( printer.newLine() - script.statements.forEach { + script.declarations.forEach { it.accept(this) printer.newLine() } diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt index 0abb79a406b..5e985917dd8 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt @@ -494,7 +494,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild script.configure { +name - +fieldList(statement, withReplace = true, useMutableOrEmpty = true).withTransform() + +FieldList("declarations", statement, withReplace = true, useMutableOrEmpty = true).withTransform() +symbol("FirScriptSymbol") +fieldList("parameters", variable, withReplace = false) +fieldList(contextReceiver, useMutableOrEmpty = true) diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/services/FirScriptConfigurationExtensionImpl.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/services/FirScriptConfigurationExtensionImpl.kt index 93bbfce32f1..40a96eb7663 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/services/FirScriptConfigurationExtensionImpl.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/services/FirScriptConfigurationExtensionImpl.kt @@ -137,10 +137,10 @@ class FirScriptConfiguratorExtensionImpl( } configuration[ScriptCompilationConfiguration.resultField]?.takeIf { it.isNotBlank() }?.let { resultFieldName -> - val lastExpression = statements.lastOrNull() + val lastExpression = declarations.lastOrNull() if (lastExpression != null && lastExpression is FirExpression) { - statements.removeAt(statements.size - 1) - statements.add( + declarations.removeAt(declarations.size - 1) + declarations.add( @OptIn(UnresolvedExpressionTypeAccess::class) buildProperty { this.name = Name.identifier(resultFieldName)