From 3686bf7ff941138564439c332013eff4182596c8 Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Fri, 28 Jul 2023 23:18:27 +0200 Subject: [PATCH] [LL FIR] allow independent resolve for declarations in scripts ^KT-60728 --- .../low/level/api/fir/api/FirDesignation.kt | 7 +- .../fir/element/builder/FirElementBuilder.kt | 4 +- .../lazy/resolve/NonLocalDeclarationUtils.kt | 1 + .../classMemberPropertyScript.kts | 8 +- .../testdata/fileStructure/classScript.kts | 6 +- .../fileStructure/constructorsScript.kts | 6 +- .../danglingAnnotationClassLevelScript.kts | 10 +- .../declarationsInPropertyInitScript.kts | 6 +- .../fileStructure/enumClassScript.kts | 14 +- .../fileStructure/enumClassWithBodyScript.kts | 10 +- .../fileStructure/initBlockScript.kts | 4 +- .../fileStructure/localClassScript.kts | 6 +- .../testdata/fileStructure/localFunScript.kts | 6 +- .../fileStructure/localPropertyScript.kts | 12 +- .../fileStructure/memberTypeAliasScript.kts | 4 +- .../fileStructure/nestedClassesScript.kts | 12 +- .../fileStructure/propertyAccessorsScript.kts | 6 +- .../testdata/fileStructure/script.kts | 11 +- .../fileStructure/script.lazy.resolve.txt | 4 + .../fileStructure/superClassCallScript.kts | 16 +- ...opLevelExpressionBodyFunWithTypeScript.kts | 2 +- ...evelExpressionBodyFunWithoutTypeScript.kts | 2 +- .../topLevelFunWithTypeScript.kts | 2 +- .../fileStructure/topLevelPropertyScript.kts | 6 +- .../fileStructure/topLevelUnitFunScript.kts | 2 +- .../fileStructure/withoutNameScript.kts | 18 +- .../annotationApplicationArgumentScript.txt | 12 +- ...otationApplicationCallExpressionScript.txt | 6 +- .../annotationOnReturnTypeScript.txt | 6 +- .../annotations/retentionValueScript.txt | 8 +- .../annotations/superCallAnnotationScript.txt | 18 +- ...OnConstructorParameterExpressionScript.txt | 14 +- ...AnnotationOnConstructorParameterScript.kts | 1 - ...AnnotationOnConstructorParameterScript.txt | 33 + ...nAnnotationOnConstructorPropertyScript.kts | 1 - ...nAnnotationOnConstructorPropertyScript.txt | 37 + ...ConstructorPropertyWithArgumentsScript.kts | 1 - ...ConstructorPropertyWithArgumentsScript.txt | 40 + ...eOnAnnotationOnFunctionParameterScript.txt | 10 +- ...OnFunctionParameterWithArgumentsScript.txt | 14 +- ...peOnAnnotationOnReceiverFunctionScript.txt | 16 +- ...eOnAnnotationOnReceiverParameterScript.txt | 16 +- ...AnnotationOnReceiverPropertyCallScript.txt | 18 +- ...peOnAnnotationOnReceiverPropertyScript.txt | 16 +- ...typeOnAnnotationOnReturnFunctionScript.txt | 14 +- ...typeOnAnnotationOnReturnPropertyScript.txt | 16 +- .../annotations/useSite/delegateScript.txt | 20 +- .../annotations/useSite/fieldScript.txt | 18 +- .../annotations/useSite/fileScript.txt | 6 +- .../annotations/useSite/getterScript.txt | 18 +- .../annotations/useSite/paramScript.txt | 18 +- .../annotations/useSite/propertyScript.txt | 18 +- .../annotations/useSite/setParamScript.txt | 18 +- .../annotations/useSite/setterScript.txt | 18 +- .../calls/callArgumentScript.txt | 8 +- ...eSuperCallAndExplicitConstructorScript.txt | 16 +- .../calls/calllTypeArgumentsScript.txt | 8 +- ...dAssignWithArrayAccessConventionScript.txt | 21 +- ...oundAssignWithArrayGetConventionScript.txt | 20 +- .../constructorDelegationSuperCallScript.txt | 14 +- .../calls/functionCallArgumentListScript.txt | 10 +- .../calls/invokeCallArgumentListScript.txt | 10 +- .../qualifiedCallInsideSuperCallScript.txt | 30 +- .../getOrBuildFir/calls/superTypeScript.txt | 19 +- .../constructorParameterScript.txt | 8 +- .../constructorPropertyScript.txt | 12 +- .../destructionWithNoRValueScript.txt | 4 +- .../declarations/destructuringEntryScript.txt | 12 +- .../declarations/destructuringScript.txt | 2 +- .../objectLiteralExpressionScript.txt | 8 +- .../declarations/objectLiteralScript.txt | 8 +- .../declarations/propertyDelegateScript.txt | 14 +- .../declarations/whereClause1Script.txt | 6 +- .../declarations/whereClause2Script.txt | 6 +- .../arrayAccessExpressionScript.txt | 8 +- .../arrayIndexExpressionWithIncScript.txt | 18 +- .../binaryExpressionOperatorScript.txt | 10 +- .../expressions/binaryExpressionScript.txt | 10 +- .../expressions/blockExpressionScript.txt | 4 +- .../expressions/boolLiteralScript.txt | 6 +- .../expressions/callInsideFunction.txt | 20 +- .../expressions/forExpressionRangeScript.txt | 12 +- .../expressions/forExpressionScript.txt | 14 +- .../forExpressionVariableScript.txt | 12 +- .../expressions/ifExpressionScript.txt | 8 +- .../expressions/incExpressionScript.txt | 19 +- .../insidePlusAssignTargetScript.txt | 12 +- .../expressions/intLiteralScript.txt | 8 +- .../expressions/isExpressionScript.txt | 8 +- .../objectLiteralExpressionScript.txt | 16 +- .../parenthesizedExpressionScript.txt | 10 +- .../expressions/stringLiteralScript.txt | 6 +- .../stringTemplateExpressionEntryScript.txt | 10 +- .../expressions/throwExpressionScript.txt | 8 +- .../expressions/tryExpressionScript.txt | 12 +- .../expressions/whenExpressionScript.txt | 12 +- .../expressions/whileExpressionScript.txt | 4 +- .../expressions/wholeStringTemplateScript.txt | 8 +- ...OfQualifiedCallWithNestedClassesScript.txt | 26 +- ...iedPartOfQualifiedCallUnresolvedScript.txt | 18 +- .../types/functionalTypeScript.txt | 8 +- .../types/nestedClassTypeScript.txt | 19 +- .../types/nullableTypeScript.txt | 10 +- .../types/receiverTypeScript.txt | 13 +- .../getOrBuildFir/types/wholeTypeScript.txt | 10 +- .../getOrBuildFir/wholeDeclaration/class.txt | 26 +- .../classTypeParemeterScript.txt | 8 +- .../wholeDeclaration/enumEntryScript.txt | 18 +- .../wholeDeclaration/function.txt | 22 +- .../wholeDeclaration/getterScript.txt | 8 +- .../wholeDeclaration/localClassScript.txt | 16 +- .../wholeDeclaration/localFunctionScript.txt | 8 +- .../wholeDeclaration/localPropertyScript.txt | 8 +- .../wholeDeclaration/memberFunctionScript.txt | 10 +- .../wholeDeclaration/memberPropertyScript.txt | 14 +- .../memberTypeAliasScript.txt | 10 +- .../wholeDeclaration/nestedClassScript.txt | 18 +- ...primaryConstructorValueParameterScript.txt | 8 +- ...condaryConstructorValueParameterScript.txt | 12 +- .../wholeDeclaration/setterScript.txt | 10 +- .../topLevelPropertyScript.txt | 10 +- .../topLevelTypelTypeAliasScript.txt | 6 +- .../inBlockModification/contractScript.txt | 20 +- .../entireFunctionBodyScript.txt | 7 +- .../entireGetterBodyScript.txt | 9 +- .../entireSetterBodyScript.txt | 11 +- .../extensionWithDefaultParametersScript.txt | 8 +- .../functionWithDefaultParametersScript.txt | 8 +- .../memberFunWithBodyWithContractScript.txt | 19 +- ...mberFunWithBodyWithErrorContractScript.txt | 16 +- ...emberFunWithBodyWithFakeContractScript.txt | 22 +- .../memberFunWithBodyWithTypeScript.txt | 8 +- .../memberFunWithBodyWithoutTypeScript.txt | 8 +- ...unWithBodyWithoutTypeWithoutNameScript.txt | 8 +- .../memberFunWithTypeWithoutBodyScript.txt | 8 +- ...unWithoutBodyWithTypeWithoutNameScript.txt | 8 +- ...memberGetterWithBodyWithContractScript.txt | 31 +- ...rWithBodyWithContractWithoutNameScript.txt | 31 +- .../memberGetterWithTypeWithBodyScript.txt | 14 +- .../memberGetterWithTypeWithoutBodyScript.txt | 10 +- ...erWithTypeWithoutBodyWithoutNameScript.txt | 10 +- .../memberGetterWithoutTypeWithBodyScript.txt | 10 +- .../memberSetterWithTypeWithBodyScript.txt | 12 +- ...etterWithTypeWithBodyWithoutNameScript.txt | 12 +- .../memberSetterWithTypeWithoutBodyScript.txt | 12 +- ...erWithTypeWithoutBodyWithoutNameScript.txt | 12 +- .../memberSetterWithoutTypeWithBodyScript.txt | 16 +- ...mberSetterWithoutTypeWithoutBodyScript.txt | 16 +- .../inBlockModification/rawContractScript.txt | 16 +- ...onWithBodyWithoutTypeWithoutNameScript.txt | 8 +- ...topLevelFunctionWithTypeWithBodyScript.txt | 8 +- ...LevelFunctionWithTypeWithoutBodyScript.txt | 8 +- ...onWithoutBodyWithTypeWithoutNameScript.txt | 8 +- ...LevelFunctionWithoutTypeWithBodyScript.txt | 8 +- .../topLevelGetterWithTypeWithBodyScript.txt | 14 +- ...etterWithTypeWithBodyWithoutNameScript.txt | 14 +- ...opLevelGetterWithTypeWithoutBodyScript.txt | 10 +- ...erWithTypeWithoutBodyWithoutNameScript.txt | 10 +- ...opLevelGetterWithoutTypeWithBodyScript.txt | 10 +- .../topLevelSetterWithTypeWithBodyScript.txt | 12 +- ...etterWithTypeWithBodyWithoutNameScript.txt | 12 +- ...opLevelSetterWithTypeWithoutBodyScript.txt | 12 +- ...erWithTypeWithoutBodyWithoutNameScript.txt | 12 +- ...opLevelSetterWithoutTypeWithBodyScript.txt | 12 +- ...evelSetterWithoutTypeWithoutBodyScript.txt | 12 +- .../annotationArgumentsMixScript.txt | 184 +-- .../annotationClassWithJavaTargetScript.txt | 52 +- .../annotationOnLocalClassScript.txt | 66 +- .../annotationParametersScript.txt | 182 +-- .../annotationWithTypeArgumentScript.kts | 1 - .../annotationWithTypeArgumentScript.txt | 278 +++++ .../lazyResolve/annotationsScript.txt | 96 +- ...sFunctionWithAnnotatedParameter2Script.txt | 76 +- ...atedParameterOnImplicitTypePhaseScript.txt | 84 +- ...usFunctionWithAnnotatedParameterScript.txt | 76 +- .../lazyResolve/classMembersScript.txt | 140 +-- .../classes/annotationWithTargetScript.txt | 72 +- .../classes/classWithTypeParametersScript.txt | 72 +- .../classes/functionInValueClassScript.txt | 110 +- ...archyWithOverrideAndNestedClass2Script.txt | 168 +-- ...archyWithOverrideAndNestedClass3Script.txt | 140 +-- ...archyWithOverrideAndNestedClass4Script.txt | 190 ++-- ...rarchyWithOverrideAndNestedClassScript.txt | 80 +- .../classes/hierarchyWithOverrideScript.txt | 108 +- .../lazyResolve/classes/nestedClassScript.txt | 156 +-- ...stedClassWithPropertiesOverridesScript.txt | 96 +- .../classes/simpleLoopInOverride2Script.kts | 1 - .../classes/simpleLoopInOverride2Script.txt | 306 +++++ .../classes/simpleLoopInOverrideScript.kts | 1 - .../classes/simpleLoopInOverrideScript.txt | 306 +++++ ...erRequiredAnnotationOnLocalClassScript.txt | 58 +- ...AnnotationsOnConstructorPropertyScript.txt | 128 +-- ...RequiredAnnotationsOnConstructorScript.txt | 112 +- ...lerRequiredAnnotationsOnFunctionScript.txt | 66 +- ...redAnnotationsOnPropertyDelegateScript.txt | 108 +- ...lerRequiredAnnotationsOnPropertyScript.txt | 122 +- .../complexLocalHierarchyScript.txt | 70 +- .../complexRedeclarationScript.txt | 270 ++--- .../lazyResolve/cyclicHierarchy2Script.kts | 1 - .../lazyResolve/cyclicHierarchy2Script.txt | 348 ++++++ .../lazyResolve/cyclicHierarchy3Script.kts | 1 - .../lazyResolve/cyclicHierarchy3Script.txt | 432 +++++++ .../lazyResolve/cyclicHierarchyScript.kts | 1 - .../lazyResolve/cyclicHierarchyScript.txt | 348 ++++++ .../cyclicNestedHierarchy2Script.kts | 1 - .../cyclicNestedHierarchy2Script.txt | 390 +++++++ .../cyclicNestedHierarchyScript.kts | 1 - .../cyclicNestedHierarchyScript.txt | 390 +++++++ .../lazyResolve/dataClassCopyScript.txt | 166 +-- .../lazyResolve/dataComponent2Script.txt | 166 +-- .../delegateWithImplicitTypeScript.kts | 1 - .../delegateWithImplicitTypeScript.txt | 346 ++++++ .../lazyResolve/delegatedFieldScript.txt | 128 +-- .../testdata/lazyResolve/delegatesScript.kts | 1 - .../testdata/lazyResolve/delegatesScript.txt | 824 ++++++++++++++ .../lazyResolve/enumEntriesScript.txt | 146 +-- .../testdata/lazyResolve/enumEntryScript.txt | 148 +-- .../lazyResolve/enumValueOfScript.txt | 138 +-- .../testdata/lazyResolve/enumValuesScript.txt | 138 +-- .../lazyResolve/fakeOverrideScript.kts | 1 - .../lazyResolve/fakeOverrideScript.txt | 810 +++++++++++++ .../fakePrimaryConstructorScript.txt | 82 +- .../lazyResolve/fileAnnotationsScript.txt | 110 +- .../fromLocalHierarchyToOuterScript.txt | 82 +- .../functionWithParameterScript.txt | 56 +- .../lazyResolve/functions/contractScript.txt | 100 +- .../functionCallWithGenericResultScript.txt | 52 +- .../functions/functionParameterScript.txt | 50 +- ...ionWithGenericExpectedTypeInsideScript.txt | 52 +- .../functionWithTypeParametersScript.txt | 50 +- ...archyWithOverrideAndNestedClass2Script.txt | 322 +++--- ...archyWithOverrideAndNestedClass3Script.txt | 188 +-- ...rarchyWithOverrideAndNestedClassScript.txt | 262 ++--- .../functions/hierarchyWithOverrideScript.txt | 230 ++-- .../functions/simpleLoopInOverride2Script.kts | 1 - .../functions/simpleLoopInOverride2Script.txt | 306 +++++ .../functions/simpleLoopInOverrideScript.kts | 1 - .../functions/simpleLoopInOverrideScript.txt | 306 +++++ .../lambdaAsSAMInterfaceScript.txt | 54 +- .../lazyResolve/lazyPropertyScript.txt | 116 +- .../lazyResolve/localConstructorScript.txt | 158 +-- ...ocalFunctionInsideAnnotationCallScript.txt | 182 +-- ...calFunctionInsideFunctionLiteralScript.txt | 182 +-- ...deLambdaCallInsideStringTemplateScript.txt | 260 ++--- ...ocalFunctionInsideStringTemplateScript.txt | 182 +-- ...ocalFunctionInsideSuperEntryCallScript.txt | 260 ++--- .../lazyResolve/localNestedClassScript.txt | 78 +- ...calParameterInsideSuperEntryCallScript.txt | 260 ++--- ...ilerRequiredAnnotationsForMemberScript.kts | 1 - ...ilerRequiredAnnotationsForMemberScript.txt | 1006 +++++++++++++++++ ...lerRequiredAnnotationsInsideBodyScript.txt | 74 +- ...estedCompilerRequiredAnnotationsScript.kts | 1 - ...estedCompilerRequiredAnnotationsScript.txt | 1006 +++++++++++++++++ .../lazyResolve/nestedTypeAlias2Script.txt | 140 +-- .../lazyResolve/nestedTypeAliasScript.kts | 1 - .../lazyResolve/nestedTypeAliasScript.txt | 516 +++++++++ .../parameterOfNonLocalSetterScript.txt | 128 +-- .../parameterOfTopSetterScript.txt | 96 +- .../primaryConstructorParameterScript.txt | 82 +- .../primaryConstructorPropertyScript.txt | 110 +- .../lazyResolve/primaryConstructorScript.txt | 82 +- .../properties/getterWithDelegationScript.kts | 1 - .../properties/getterWithDelegationScript.txt | 320 ++++++ ...archyWithOverrideAndNestedClass2Script.txt | 298 ++--- ...archyWithOverrideAndNestedClass3Script.txt | 224 ++-- ...archyWithOverrideAndNestedClass4Script.txt | 386 +++---- ...rarchyWithOverrideAndNestedClassScript.txt | 178 +-- .../hierarchyWithOverrideScript.txt | 266 ++--- ...rtyGetterWithExplicitTypeAndBodyScript.txt | 74 +- .../propertyGetterWithExplicitTypeScript.txt | 74 +- .../propertyGetterWithImplicitTypeScript.txt | 78 +- .../properties/propertySetterScript.txt | 94 +- .../propertyWithTypeParametersScript.txt | 74 +- .../simpleLoopInOverride2Script.kts | 1 - .../simpleLoopInOverride2Script.txt | 432 +++++++ .../properties/simpleLoopInOverrideScript.kts | 1 - .../properties/simpleLoopInOverrideScript.txt | 432 +++++++ .../propertyWithGetterAndSetterScript.txt | 54 +- .../lazyResolve/propertyWithGetterScript.txt | 52 +- .../propertyWithInitializerScript.txt | 52 +- .../lazyResolve/redeclarationScript.txt | 88 +- .../resolveSuperTypeFromLocalClassScript.txt | 60 +- ...lveTypeFromLocalClassConstructorScript.txt | 58 +- .../resolveTypeFromLocalFunctionScript.txt | 56 +- .../secondaryConstructorParameterScript.txt | 126 +-- .../secondaryConstructorScript.txt | 56 +- .../substitutionFakeOverrideScript.kts | 1 - .../substitutionFakeOverrideScript.txt | 373 ++++++ ...tionFakeOverrideWithImplicitTypeScript.kts | 1 - ...tionFakeOverrideWithImplicitTypeScript.txt | 401 +++++++ .../lazyResolve/superTypesLoopScript.kts | 1 - .../lazyResolve/superTypesLoopScript.txt | 488 ++++++++ .../testdata/lazyResolve/superTypesScript.txt | 74 +- .../lazyResolve/topLevelFunctionsScript.txt | 52 +- ...ithExpressionBodyAndExplicitTypeScript.txt | 52 +- ...opLevelFunctionsWithImplicitTypeScript.kts | 1 - ...opLevelFunctionsWithImplicitTypeScript.txt | 250 ++++ .../typeAliasWithTypeParametersScript.txt | 50 +- .../lazyResolve/typeParameterBoundsScript.txt | 54 +- .../typeParameterOfClass2Script.txt | 108 +- .../typeParameterOfClassScript.txt | 74 +- .../typeParameterOfNonLocalFunctionScript.txt | 82 +- .../typeParameterOfTopFunctionScript.txt | 50 +- .../typeParameterOfTopSetterScript.txt | 74 +- .../typeParameterOfTypeAliasScript.txt | 86 +- .../classWithMembersScript.txt | 14 +- .../classWithMembersWithPackage.txt | 14 +- .../nonLocalDeclarationAnchors/statements.txt | 16 +- 308 files changed, 17536 insertions(+), 6396 deletions(-) create mode 100644 analysis/low-level-api-fir/testdata/getOrBuildFir/annotations/typeOnAnnotationOnConstructorParameterScript.txt create mode 100644 analysis/low-level-api-fir/testdata/getOrBuildFir/annotations/typeOnAnnotationOnConstructorPropertyScript.txt create mode 100644 analysis/low-level-api-fir/testdata/getOrBuildFir/annotations/typeOnAnnotationOnConstructorPropertyWithArgumentsScript.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/annotationWithTypeArgumentScript.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/classes/simpleLoopInOverride2Script.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/classes/simpleLoopInOverrideScript.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/cyclicHierarchy2Script.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/cyclicHierarchy3Script.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/cyclicHierarchyScript.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/cyclicNestedHierarchy2Script.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/cyclicNestedHierarchyScript.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/delegateWithImplicitTypeScript.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/delegatesScript.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/fakeOverrideScript.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/functions/simpleLoopInOverride2Script.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/functions/simpleLoopInOverrideScript.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/nestedCompilerRequiredAnnotationsForMemberScript.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/nestedCompilerRequiredAnnotationsScript.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/nestedTypeAliasScript.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/properties/getterWithDelegationScript.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/properties/simpleLoopInOverride2Script.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/properties/simpleLoopInOverrideScript.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/substitutionFakeOverrideScript.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/substitutionFakeOverrideWithImplicitTypeScript.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/superTypesLoopScript.txt create mode 100644 analysis/low-level-api-fir/testdata/lazyResolve/topLevelFunctionsWithImplicitTypeScript.txt diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/FirDesignation.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/FirDesignation.kt index 7fd28d48eee..090599ff81e 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/FirDesignation.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/FirDesignation.kt @@ -276,12 +276,7 @@ fun FirElementWithResolveState.tryCollectDesignationWithFile(): FirDesignationWi is FirDeclaration -> { val path = collectDesignationPath(this) ?: return null val firFile = path.lastOrNull()?.getContainingFile() ?: getContainingFile() ?: return null - val firScript = firFile.declarations.singleOrNull() as? FirScript - if (firScript != null) { - FirDesignationWithFile(path = emptyList(), firScript, firFile) - } else { - FirDesignationWithFile(path, this, firFile) - } + FirDesignationWithFile(path, this, firFile) } else -> unexpectedElementError(this) diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/element/builder/FirElementBuilder.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/element/builder/FirElementBuilder.kt index 3b566cc9468..335d3c824d8 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/element/builder/FirElementBuilder.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/element/builder/FirElementBuilder.kt @@ -14,7 +14,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure.FileStruct import org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure.FirElementsRecorder import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.declarationCanBeLazilyResolved import org.jetbrains.kotlin.analysis.low.level.api.fir.util.findSourceNonLocalFirDeclaration -import org.jetbrains.kotlin.psi.psiUtil.getElementTextWithContext import org.jetbrains.kotlin.analysis.utils.printer.parentOfType import org.jetbrains.kotlin.analysis.utils.printer.parentsOfType import org.jetbrains.kotlin.fir.FirAnnotationContainer @@ -263,8 +262,7 @@ internal fun PsiElement.getNonLocalContainingOrThisDeclaration(predicate: (KtDec !notNullCandidate.isPartOf(parent) || parent is KtClassInitializer || parent is KtObjectLiteralExpression || - parent is KtCallElement || - parent is KtScript + parent is KtCallElement ) { // Candidate turned out to be local. Let's find another one. candidate = null diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/NonLocalDeclarationUtils.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/NonLocalDeclarationUtils.kt index afb887c86b2..7783ea61270 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/NonLocalDeclarationUtils.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/NonLocalDeclarationUtils.kt @@ -59,6 +59,7 @@ internal fun declarationCanBeLazilyResolved(declaration: KtDeclaration): Boolean when (val parent = declaration.parent) { is KtFile -> true is KtClassBody -> (parent.parent as? KtClassOrObject)?.isLocal == false + is KtBlockExpression -> parent.parent is KtScript else -> false } } diff --git a/analysis/low-level-api-fir/testdata/fileStructure/classMemberPropertyScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/classMemberPropertyScript.kts index 371c14a328f..5eccfd945ac 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/classMemberPropertyScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/classMemberPropertyScript.kts @@ -1,11 +1,11 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */class X { - var x: Int +/* NonReanalyzableNonClassDeclarationStructureElement */class X {/* NonReanalyzableClassDeclarationStructureElement */ + var x: Int/* ReanalyzablePropertyStructureElement */ get() = field set(value) { field = value } - val y = 42 + val y = 42/* NonReanalyzableNonClassDeclarationStructureElement */ - var z: Int = 15 + var z: Int = 15/* NonReanalyzableNonClassDeclarationStructureElement */ } diff --git a/analysis/low-level-api-fir/testdata/fileStructure/classScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/classScript.kts index 5b489cc40f9..fbc7e17130b 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/classScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/classScript.kts @@ -1,6 +1,6 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */class A { - fun x() { +/* NonReanalyzableNonClassDeclarationStructureElement */class A {/* NonReanalyzableClassDeclarationStructureElement */ + fun x() {/* ReanalyzableFunctionStructureElement */ } - fun y(): Int = 10 + fun y(): Int = 10/* ReanalyzableFunctionStructureElement */ } diff --git a/analysis/low-level-api-fir/testdata/fileStructure/constructorsScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/constructorsScript.kts index b624d59dfdf..4b48fa9e7e2 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/constructorsScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/constructorsScript.kts @@ -1,9 +1,9 @@ /* NonReanalyzableNonClassDeclarationStructureElement */class A - (val a: Int) + (val a: Int)/* NonReanalyzableNonClassDeclarationStructureElement */ -{ - constructor() : this(1) { +{/* NonReanalyzableClassDeclarationStructureElement */ + constructor() : this(1) {/* NonReanalyzableNonClassDeclarationStructureElement */ } } diff --git a/analysis/low-level-api-fir/testdata/fileStructure/danglingAnnotationClassLevelScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/danglingAnnotationClassLevelScript.kts index 2ed4b2b0db2..457c6593f7a 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/danglingAnnotationClassLevelScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/danglingAnnotationClassLevelScript.kts @@ -1,14 +1,14 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */class Foo { +/* NonReanalyzableNonClassDeclarationStructureElement */class Foo {/* NonReanalyzableClassDeclarationStructureElement */ @Suppress("") @MustBeDocumented } -class Bar { +class Bar {/* NonReanalyzableClassDeclarationStructureElement */ @Suppress("") @MustBeDocumented } -class Outer { - class Inner { +class Outer {/* NonReanalyzableClassDeclarationStructureElement */ + class Inner {/* NonReanalyzableClassDeclarationStructureElement */ @Suppress("") @MustBeDocumented } - fun foo() { + fun foo() {/* ReanalyzableFunctionStructureElement */ class Local { @Suppress("") @MustBeDocumented } diff --git a/analysis/low-level-api-fir/testdata/fileStructure/declarationsInPropertyInitScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/declarationsInPropertyInitScript.kts index c52cbb3770c..9a4f15e3c1f 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/declarationsInPropertyInitScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/declarationsInPropertyInitScript.kts @@ -1,11 +1,11 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */class A { +/* NonReanalyzableNonClassDeclarationStructureElement */class A {/* NonReanalyzableClassDeclarationStructureElement */ val a = run { class X() val y = 10 - } + }/* NonReanalyzableNonClassDeclarationStructureElement */ } -inline fun run(block: () -> R): R { +inline fun run(block: () -> R): R {/* ReanalyzableFunctionStructureElement */ return block() } diff --git a/analysis/low-level-api-fir/testdata/fileStructure/enumClassScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/enumClassScript.kts index 10465a439f2..8a0a7d9f03a 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/enumClassScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/enumClassScript.kts @@ -1,13 +1,13 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */enum class A { - X, - Y, +/* NonReanalyzableNonClassDeclarationStructureElement */enum class A {/* NonReanalyzableClassDeclarationStructureElement */ + X,/* NonReanalyzableNonClassDeclarationStructureElement */ + Y,/* NonReanalyzableNonClassDeclarationStructureElement */ Z - ; + ;/* NonReanalyzableNonClassDeclarationStructureElement */ - fun foo(){} + fun foo(){/* ReanalyzableFunctionStructureElement */} - val x = 10 + val x = 10/* NonReanalyzableNonClassDeclarationStructureElement */ - fun bar() = 10 + fun bar() = 10/* NonReanalyzableNonClassDeclarationStructureElement */ } diff --git a/analysis/low-level-api-fir/testdata/fileStructure/enumClassWithBodyScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/enumClassWithBodyScript.kts index 8649c30c03b..5a64452ee8c 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/enumClassWithBodyScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/enumClassWithBodyScript.kts @@ -1,13 +1,13 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */enum class A { - X { +/* NonReanalyzableNonClassDeclarationStructureElement */enum class A {/* NonReanalyzableClassDeclarationStructureElement */ + X {/* NonReanalyzableNonClassDeclarationStructureElement */ fun localInX() = 1 }, - Y { + Y {/* NonReanalyzableNonClassDeclarationStructureElement */ override fun foo() {} }, Z, - ; + ;/* NonReanalyzableNonClassDeclarationStructureElement */ - open fun foo() {} + open fun foo() {/* ReanalyzableFunctionStructureElement */} } diff --git a/analysis/low-level-api-fir/testdata/fileStructure/initBlockScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/initBlockScript.kts index 59f6da6c7b7..9332b7433bc 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/initBlockScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/initBlockScript.kts @@ -1,5 +1,5 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */class A { - init { +/* NonReanalyzableNonClassDeclarationStructureElement */class A {/* NonReanalyzableClassDeclarationStructureElement */ + init {/* NonReanalyzableNonClassDeclarationStructureElement */ val x = 10 class B } diff --git a/analysis/low-level-api-fir/testdata/fileStructure/localClassScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/localClassScript.kts index 31166734444..ba5fd3763df 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/localClassScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/localClassScript.kts @@ -1,9 +1,9 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */fun a() { +/* NonReanalyzableNonClassDeclarationStructureElement */fun a() {/* ReanalyzableFunctionStructureElement */ class X } -class Y { - fun b() { +class Y {/* NonReanalyzableClassDeclarationStructureElement */ + fun b() {/* ReanalyzableFunctionStructureElement */ class Z } } diff --git a/analysis/low-level-api-fir/testdata/fileStructure/localFunScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/localFunScript.kts index 48164f33cb3..33d7ba74e5d 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/localFunScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/localFunScript.kts @@ -1,11 +1,11 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */fun x() { +/* NonReanalyzableNonClassDeclarationStructureElement */fun x() {/* ReanalyzableFunctionStructureElement */ fun y() { } } -class A { - fun z() { +class A {/* NonReanalyzableClassDeclarationStructureElement */ + fun z() {/* ReanalyzableFunctionStructureElement */ fun q() { } diff --git a/analysis/low-level-api-fir/testdata/fileStructure/localPropertyScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/localPropertyScript.kts index 3499d9004c3..f90f69c11de 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/localPropertyScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/localPropertyScript.kts @@ -1,14 +1,14 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */fun foo() { +/* NonReanalyzableNonClassDeclarationStructureElement */fun foo() {/* ReanalyzableFunctionStructureElement */ var x: Int } -class A { - fun q() { +class A {/* NonReanalyzableClassDeclarationStructureElement */ + fun q() {/* ReanalyzableFunctionStructureElement */ val y = 42 } } -class B { - class C { - fun u() { +class B {/* NonReanalyzableClassDeclarationStructureElement */ + class C {/* NonReanalyzableClassDeclarationStructureElement */ + fun u() {/* ReanalyzableFunctionStructureElement */ var z: Int = 15 } } diff --git a/analysis/low-level-api-fir/testdata/fileStructure/memberTypeAliasScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/memberTypeAliasScript.kts index 1dc4cb18543..3aff577d384 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/memberTypeAliasScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/memberTypeAliasScript.kts @@ -1,3 +1,3 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */class A { - typealias X = Int +/* NonReanalyzableNonClassDeclarationStructureElement */class A {/* NonReanalyzableClassDeclarationStructureElement */ + typealias X = Int/* NonReanalyzableNonClassDeclarationStructureElement */ } diff --git a/analysis/low-level-api-fir/testdata/fileStructure/nestedClassesScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/nestedClassesScript.kts index ad63df94f4b..1c2919eebd0 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/nestedClassesScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/nestedClassesScript.kts @@ -1,16 +1,16 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */class A { - class B { - fun x() { +/* NonReanalyzableNonClassDeclarationStructureElement */class A {/* NonReanalyzableClassDeclarationStructureElement */ + class B {/* NonReanalyzableClassDeclarationStructureElement */ + fun x() {/* ReanalyzableFunctionStructureElement */ } - class C { + class C {/* NonReanalyzableClassDeclarationStructureElement */ } } - class E { + class E {/* NonReanalyzableClassDeclarationStructureElement */ } - fun y(): Int = 10 + fun y(): Int = 10/* ReanalyzableFunctionStructureElement */ } diff --git a/analysis/low-level-api-fir/testdata/fileStructure/propertyAccessorsScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/propertyAccessorsScript.kts index dc4006bd7b4..5bd567b7fad 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/propertyAccessorsScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/propertyAccessorsScript.kts @@ -1,11 +1,11 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */var x: Int = 10 +/* NonReanalyzableNonClassDeclarationStructureElement */var x: Int = 10/* ReanalyzablePropertyStructureElement */ get() = field set(value) { field = value } -class X { - var y: Int = 10 +class X {/* NonReanalyzableClassDeclarationStructureElement */ + var y: Int = 10/* ReanalyzablePropertyStructureElement */ get() = field set(value) { field = value diff --git a/analysis/low-level-api-fir/testdata/fileStructure/script.kts b/analysis/low-level-api-fir/testdata/fileStructure/script.kts index 6c7bfba9b3b..730a25aade8 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/script.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/script.kts @@ -1,12 +1,13 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */class Builder { - var version: String = "" +/* NonReanalyzableNonClassDeclarationStructureElement */class Builder {/* NonReanalyzableClassDeclarationStructureElement */ + var version: String = ""/* NonReanalyzableNonClassDeclarationStructureElement */ - fun execute() { + fun execute() {/* ReanalyzableFunctionStructureElement */ println(version) } } -fun build(action: Builder.() -> Unit) = Builder().apply(action) +fun build(action: Builder.() -> Unit) = Builder().apply(action)/* NonReanalyzableNonClassDeclarationStructureElement */ +fun build2(action: Builder.() -> Unit): Builder = Builder().apply(action)/* ReanalyzableFunctionStructureElement */ build { version = "123" @@ -21,6 +22,6 @@ build { val builder = build { version = "321" -} +}/* NonReanalyzableNonClassDeclarationStructureElement */ builder.execute() diff --git a/analysis/low-level-api-fir/testdata/fileStructure/script.lazy.resolve.txt b/analysis/low-level-api-fir/testdata/fileStructure/script.lazy.resolve.txt index 711cfc341c5..6658a9ebac7 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/script.lazy.resolve.txt +++ b/analysis/low-level-api-fir/testdata/fileStructure/script.lazy.resolve.txt @@ -22,6 +22,10 @@ FILE: [ResolvedTo(IMPORTS)] script.kts ^build Builder#().apply#(action#) } + public? final? [ResolvedTo(RAW_FIR)] fun build2([ResolvedTo(RAW_FIR)] action: ( Builder.() -> Unit )): Builder { + ^build2 Builder#().apply#(action#) + } + build#( = [ResolvedTo(RAW_FIR)] build@fun .(): { version# = String(123) local final? [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| { diff --git a/analysis/low-level-api-fir/testdata/fileStructure/superClassCallScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/superClassCallScript.kts index 732d36fc5dc..49188b6da9b 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/superClassCallScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/superClassCallScript.kts @@ -1,16 +1,16 @@ /* NonReanalyzableNonClassDeclarationStructureElement */open class A - (init: A.() -> Unit) -{ - val prop: String = "" + (init: A.() -> Unit)/* NonReanalyzableNonClassDeclarationStructureElement */ +{/* NonReanalyzableClassDeclarationStructureElement */ + val prop: String = ""/* NonReanalyzableNonClassDeclarationStructureElement */ } -class B() : A() +class B()/* NonReanalyzableNonClassDeclarationStructureElement */ : A()/* NonReanalyzableClassDeclarationStructureElement */ object C : A( { fun foo() = B.prop.toString() } -) { +) {/* NonReanalyzableClassDeclarationStructureElement */ } @@ -20,16 +20,16 @@ val f = object : A( } ) { -} +}/* NonReanalyzableNonClassDeclarationStructureElement */ class D : A( { fun foo() = B.prop.toString() } -) { +) {/* NonReanalyzableClassDeclarationStructureElement */ constructor(): super( { fun boo() = prop.toString() } - ) + )/* NonReanalyzableNonClassDeclarationStructureElement */ } diff --git a/analysis/low-level-api-fir/testdata/fileStructure/topLevelExpressionBodyFunWithTypeScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/topLevelExpressionBodyFunWithTypeScript.kts index bde44e49897..127caf33c27 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/topLevelExpressionBodyFunWithTypeScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/topLevelExpressionBodyFunWithTypeScript.kts @@ -1 +1 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */fun foo(): Int = 42 +/* NonReanalyzableNonClassDeclarationStructureElement */fun foo(): Int = 42/* ReanalyzableFunctionStructureElement */ diff --git a/analysis/low-level-api-fir/testdata/fileStructure/topLevelExpressionBodyFunWithoutTypeScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/topLevelExpressionBodyFunWithoutTypeScript.kts index 2ee3934b3db..452903ec824 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/topLevelExpressionBodyFunWithoutTypeScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/topLevelExpressionBodyFunWithoutTypeScript.kts @@ -1 +1 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */fun foo() = 42 +/* NonReanalyzableNonClassDeclarationStructureElement */fun foo() = 42/* NonReanalyzableNonClassDeclarationStructureElement */ diff --git a/analysis/low-level-api-fir/testdata/fileStructure/topLevelFunWithTypeScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/topLevelFunWithTypeScript.kts index 49155f5aea2..9a06a99ba37 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/topLevelFunWithTypeScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/topLevelFunWithTypeScript.kts @@ -1,4 +1,4 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */fun foo(): Int { +/* NonReanalyzableNonClassDeclarationStructureElement */fun foo(): Int {/* ReanalyzableFunctionStructureElement */ println("") return 10 } diff --git a/analysis/low-level-api-fir/testdata/fileStructure/topLevelPropertyScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/topLevelPropertyScript.kts index 22a80eafe0a..6318ea62856 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/topLevelPropertyScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/topLevelPropertyScript.kts @@ -1,9 +1,9 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */var x: Int +/* NonReanalyzableNonClassDeclarationStructureElement */var x: Int/* ReanalyzablePropertyStructureElement */ get() = field set(value) { field = value } -val y = 42 +val y = 42/* NonReanalyzableNonClassDeclarationStructureElement */ -var z: Int = 15 +var z: Int = 15/* NonReanalyzableNonClassDeclarationStructureElement */ diff --git a/analysis/low-level-api-fir/testdata/fileStructure/topLevelUnitFunScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/topLevelUnitFunScript.kts index 2f8d72e29e9..c05df5c9f37 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/topLevelUnitFunScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/topLevelUnitFunScript.kts @@ -1,3 +1,3 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */fun foo() { +/* NonReanalyzableNonClassDeclarationStructureElement */fun foo() {/* ReanalyzableFunctionStructureElement */ println("") } diff --git a/analysis/low-level-api-fir/testdata/fileStructure/withoutNameScript.kts b/analysis/low-level-api-fir/testdata/fileStructure/withoutNameScript.kts index d65a546539a..ffe23e6ed4b 100644 --- a/analysis/low-level-api-fir/testdata/fileStructure/withoutNameScript.kts +++ b/analysis/low-level-api-fir/testdata/fileStructure/withoutNameScript.kts @@ -1,27 +1,27 @@ -/* NonReanalyzableNonClassDeclarationStructureElement */fun (a: Int = 1): String = "str" +/* NonReanalyzableNonClassDeclarationStructureElement */fun (a: Int = 1): String = "str"/* ReanalyzableFunctionStructureElement */ -fun () { +fun () {/* ReanalyzableFunctionStructureElement */ } -val : Int = 4 +val : Int = 4/* NonReanalyzableNonClassDeclarationStructureElement */ -var : Int +var : Int/* ReanalyzablePropertyStructureElement */ get() = 4 set(value) { } -class A { - fun (a: Int = 1): String = "str" +class A {/* NonReanalyzableClassDeclarationStructureElement */ + fun (a: Int = 1): String = "str"/* ReanalyzableFunctionStructureElement */ - fun () { + fun () {/* ReanalyzableFunctionStructureElement */ } - val : Int = 4 + val : Int = 4/* NonReanalyzableNonClassDeclarationStructureElement */ - var : Boolean + var : Boolean/* ReanalyzablePropertyStructureElement */ get() = true set(value) { diff --git a/analysis/low-level-api-fir/testdata/getOrBuildFir/annotations/annotationApplicationArgumentScript.txt b/analysis/low-level-api-fir/testdata/getOrBuildFir/annotations/annotationApplicationArgumentScript.txt index b5827afeb57..e864c22e563 100644 --- a/analysis/low-level-api-fir/testdata/getOrBuildFir/annotations/annotationApplicationArgumentScript.txt +++ b/analysis/low-level-api-fir/testdata/getOrBuildFir/annotations/annotationApplicationArgumentScript.txt @@ -8,18 +8,18 @@ String(y) FIR FILE: FILE: [ResolvedTo(IMPORTS)] annotationApplicationArgumentScript.kts context(