[FIR] get rid of FirFileAnnotationsContainer

This element has been introduced to simplify resolution logic in LL FIR,
but now this element is redundant and only complicates the code as after
KT-56683 `FirFile` has real phases

^KT-65876 Fixed
This commit is contained in:
Dmitrii Gridin
2024-02-20 00:38:31 +01:00
committed by Space Team
parent 24c91bbf56
commit 17c128adf2
55 changed files with 109 additions and 484 deletions
@@ -165,7 +165,7 @@ private fun tryCollectDesignation(providedFile: FirFile?, target: FirElementWith
return collectDesignationPathWithContainingClass(providedFile, target, containingClassId)
}
is FirFileAnnotationsContainer -> return FirDesignation(path = listOf(target.containingFileSymbol.fir), target = target)
is FirFile -> return FirDesignation(target)
is FirScript, is FirCodeFragment -> {
requireIsInstance<FirDeclaration>(target)
@@ -365,7 +365,7 @@ fun FirElementWithResolveState.tryCollectDesignationWithOptionalFile(providedFil
*/
fun FirElementWithResolveState.tryCollectDesignation(providedFile: FirFile? = null): FirDesignation? = when (this) {
is FirSyntheticProperty, is FirSyntheticPropertyAccessor -> unexpectedElementError<FirElementWithResolveState>(this)
is FirFileAnnotationsContainer, is FirDeclaration -> {
is FirDeclaration -> {
val designation = tryCollectDesignation(providedFile = providedFile, target = this)
designation?.takeIf { it.fileOrNull != null }
}
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.FirDesignation
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.errorWithFirSpecificEntries
import org.jetbrains.kotlin.fir.FirElementWithResolveState
import org.jetbrains.kotlin.fir.FirFileAnnotationsContainer
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.declarations.FirClassLikeDeclaration
@@ -130,7 +129,7 @@ internal sealed class LLFirResolveTarget(val designation: FirDesignation) {
is FirClassLikeDeclaration -> fir.symbol.name.asString()
is FirCallableDeclaration -> fir.symbol.name.asString()
is FirAnonymousInitializer -> ("<init-block>")
is FirFileAnnotationsContainer -> "<file annotations>"
is FirFile -> fir.name
is FirScript -> fir.name.asString()
else -> "???"
}
@@ -76,6 +76,7 @@ internal class FirElementBuilder(private val moduleComponents: LLFirModuleResolv
private fun doKtElementHasCorrespondingFirElement(ktElement: KtElement): Boolean = when (ktElement) {
is KtImportList -> false
is KtFileAnnotationList -> false
else -> true
}
}
@@ -208,7 +209,6 @@ internal class FirElementBuilder(private val moduleComponents: LLFirModuleResolv
when (anchor) {
is KtPackageDirective -> declaration.packageDirective
is KtFileAnnotationList -> declaration.annotationsContainer?.also { it.lazyResolveToPhase(FirResolvePhase.ANNOTATION_ARGUMENTS) }
is KtImportDirective -> {
declaration.lazyResolveToPhase(FirResolvePhase.IMPORTS)
declaration.imports.find { it.psi == anchor }
@@ -221,11 +221,6 @@ internal class FirElementBuilder(private val moduleComponents: LLFirModuleResolv
)
private fun KtElement.fileHeaderAnchorElement(): KtElement? {
/**
* File annotations already covered by [getFirForElementInsideAnnotations], but we have to cover the list itself
*/
if (this is KtFileAnnotationList) return this
return parentsWithSelf.find { it is KtPackageDirective || it is KtImportDirective } as? KtElement
}
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.asResolveTarg
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.throwUnexpectedFirElementError
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.tryCollectDesignation
import org.jetbrains.kotlin.fir.FirElementWithResolveState
import org.jetbrains.kotlin.fir.FirFileAnnotationsContainer
import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty
import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticPropertyAccessor
@@ -67,7 +66,6 @@ internal object LLFirResolveDesignationCollector {
*/
private fun FirElementWithResolveState.shouldBeResolved() = when (this) {
is FirDeclaration -> shouldBeResolved()
is FirFileAnnotationsContainer -> annotations.isNotEmpty()
else -> throwUnexpectedFirElementError(this)
}
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve
import org.jetbrains.kotlin.fir.FirAnnotationContainer
import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirElementWithResolveState
import org.jetbrains.kotlin.fir.FirFileAnnotationsContainer
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
import org.jetbrains.kotlin.fir.declarations.FirBackingField
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
@@ -18,6 +17,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDanglingModifierList
import org.jetbrains.kotlin.fir.declarations.FirEnumEntry
import org.jetbrains.kotlin.fir.declarations.FirErrorPrimaryConstructor
import org.jetbrains.kotlin.fir.declarations.FirErrorProperty
import org.jetbrains.kotlin.fir.declarations.FirFile
import org.jetbrains.kotlin.fir.declarations.FirFunction
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
import org.jetbrains.kotlin.fir.declarations.FirProperty
@@ -102,8 +102,8 @@ internal abstract class NonLocalAnnotationVisitor<T> : FirVisitor<Unit, T>() {
visitAnnotation(errorAnnotationCall, data)
}
override fun visitFileAnnotationsContainer(fileAnnotationsContainer: FirFileAnnotationsContainer, data: T) {
visitAnnotationContainer(fileAnnotationsContainer, data)
override fun visitFile(file: FirFile, data: T) {
visitAnnotationContainer(file, data)
}
override fun visitDanglingModifierList(danglingModifierList: FirDanglingModifierList, data: T) {
@@ -20,7 +20,6 @@ internal abstract class RecursiveNonLocalAnnotationVisitor<T> : NonLocalAnnotati
override fun visitFile(file: FirFile, data: T) {
super.visitFile(file, data)
file.annotationsContainer?.accept(this, data)
file.forEachDeclaration { it.accept(this, data) }
}
@@ -187,8 +187,12 @@ private class LLFirAnnotationArgumentsTargetResolver(resolveTarget: LLFirResolve
}
target is FirScript -> target.transformAnnotations(transformer.declarationsTransformer, ResolutionMode.ContextIndependent)
target is FirFile -> transformer.declarationsTransformer.withFile(target) {
target.transformAnnotations(transformer.declarationsTransformer, ResolutionMode.ContextIndependent)
}
target.isRegularDeclarationWithAnnotation -> target.transformSingle(transformer, ResolutionMode.ContextIndependent)
target is FirCodeFragment || target is FirFile -> {}
target is FirCodeFragment -> {}
else -> throwUnexpectedFirElementError(target)
}
}
@@ -199,7 +203,6 @@ internal val FirElementWithResolveState.isRegularDeclarationWithAnnotation: Bool
is FirCallableDeclaration,
is FirAnonymousInitializer,
is FirDanglingModifierList,
is FirFileAnnotationsContainer,
is FirTypeAlias,
-> true
else -> false
@@ -139,8 +139,6 @@ private class LLFirBodyTargetResolver(target: LLFirResolveTarget) : LLFirAbstrac
is FirFile -> {
if (target.resolvePhase >= resolverPhase) return true
target.annotationsContainer?.lazyResolveToPhase(resolverPhase)
// resolve file CFG graph here, to do this we need to have property blocks resoled
resolveMembersForControlFlowGraph(target)
performCustomResolveUnderLock(target) {
@@ -311,7 +309,6 @@ private class LLFirBodyTargetResolver(target: LLFirResolveTarget) : LLFirAbstrac
is FirVariable -> resolve(target, BodyStateKeepers.VARIABLE)
is FirAnonymousInitializer -> resolve(target, BodyStateKeepers.ANONYMOUS_INITIALIZER)
is FirDanglingModifierList,
is FirFileAnnotationsContainer,
is FirTypeAlias,
-> {
// No bodies here
@@ -15,7 +15,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkDeprecationProv
import org.jetbrains.kotlin.analysis.utils.errors.requireIsInstance
import org.jetbrains.kotlin.fir.FirAnnotationContainer
import org.jetbrains.kotlin.fir.FirElementWithResolveState
import org.jetbrains.kotlin.fir.FirFileAnnotationsContainer
import org.jetbrains.kotlin.fir.caches.firCachesFactory
import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.declarations.annotationPlatformSupport
@@ -97,8 +96,7 @@ private class LLFirCompilerRequiredAnnotationsTargetResolver(
override fun doResolveWithoutLock(target: FirElementWithResolveState): Boolean {
when (target) {
is FirFile -> return false
is FirRegularClass, is FirScript, is FirCodeFragment -> {}
is FirFile, is FirScript, is FirRegularClass, is FirCodeFragment -> {}
else -> {
if (!target.isRegularDeclarationWithAnnotation) {
throwUnexpectedFirElementError(target)
@@ -107,13 +105,18 @@ private class LLFirCompilerRequiredAnnotationsTargetResolver(
}
requireIsInstance<FirAnnotationContainer>(target)
resolveTargetDeclaration(target)
if (target is FirFile) {
transformer.annotationTransformer.withFileAndFileScopes(target) {
resolveTargetDeclaration(target)
}
} else {
resolveTargetDeclaration(target)
}
return true
}
override fun doLazyResolveUnderLock(target: FirElementWithResolveState) {
if (target is FirFile) return
throwUnexpectedFirElementError(target)
}
@@ -211,7 +214,7 @@ private class LLFirCompilerRequiredAnnotationsTargetResolver(
}
for ((declaration, annotations) in annotationMap) {
if (declaration is FirProperty || declaration is FirFileAnnotationsContainer) continue
if (declaration is FirProperty || declaration is FirFile) continue
requireIsInstance<FirAnnotationContainer>(declaration)
deprecations[declaration] = declaration.extractDeprecationInfoPerUseSite(
@@ -12,7 +12,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.util.blockGuard
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkContractDescriptionIsResolved
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.isCallableWithSpecialBody
import org.jetbrains.kotlin.fir.FirElementWithResolveState
import org.jetbrains.kotlin.fir.FirFileAnnotationsContainer
import org.jetbrains.kotlin.fir.contracts.FirRawContractDescription
import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.declarations.impl.FirPrimaryConstructor
@@ -80,7 +79,6 @@ private class LLFirContractsTargetResolver(target: LLFirResolveTarget) : LLFirAb
is FirFile,
is FirScript,
is FirCodeFragment,
is FirFileAnnotationsContainer,
is FirDanglingModifierList,
-> {
// No contracts here
@@ -10,7 +10,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.throwUnexpectedFirEle
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure.LLFirDeclarationModificationService
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkReturnTypeRefIsResolved
import org.jetbrains.kotlin.fir.FirElementWithResolveState
import org.jetbrains.kotlin.fir.FirFileAnnotationsContainer
import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.isCopyCreatedInScope
@@ -198,7 +197,6 @@ internal class LLFirImplicitBodyTargetResolver(
target is FirCodeFragment ||
target is FirAnonymousInitializer ||
target is FirDanglingModifierList ||
target is FirFileAnnotationsContainer ||
target is FirEnumEntry ||
target is FirErrorProperty ||
target is FirScript
@@ -208,9 +206,8 @@ internal class LLFirImplicitBodyTargetResolver(
else -> throwUnexpectedFirElementError(target)
}
if (target is FirDeclaration) {
target.forEachDeclarationWhichCanHavePostponedSymbols(::publishPostponedSymbols)
}
@Suppress("USELESS_CAST") // K2 warning suppression, TODO: KT-62472
(target as FirDeclaration).forEachDeclarationWhichCanHavePostponedSymbols(::publishPostponedSymbols)
}
private fun publishPostponedSymbols(target: FirCallableDeclaration) {
@@ -158,9 +158,6 @@ internal abstract class LLFirTargetResolver(
target is FirField && target.origin == FirDeclarationOrigin.Synthetic.DelegateField || target is FirConstructor -> {
containingClass(target).lazyResolveToPhase(resolverPhase)
}
// Effectively, file annotation container is a part of FirFile, so we have to resolve it before
target is FirFile -> target.annotationsContainer?.lazyResolveToPhase(resolverPhase)
}
}
@@ -15,7 +15,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkTypeRefIsResolv
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.errorWithFirSpecificEntries
import org.jetbrains.kotlin.fir.FirAnnotationContainer
import org.jetbrains.kotlin.fir.FirElementWithResolveState
import org.jetbrains.kotlin.fir.FirFileAnnotationsContainer
import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.resolve.transformers.FirTypeResolveTransformer
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
@@ -105,14 +104,14 @@ private class LLFirTypeTargetResolver(target: LLFirResolveTarget) : LLFirTargetR
is FirProperty -> resolve(target, TypeStateKeepers.PROPERTY)
is FirCallableDeclaration,
is FirDanglingModifierList,
is FirFileAnnotationsContainer,
is FirFile,
is FirTypeAlias,
is FirScript,
is FirRegularClass,
is FirAnonymousInitializer,
-> rawResolve(target)
is FirFile, is FirCodeFragment -> {}
is FirCodeFragment -> {}
else -> errorWithAttachment("Unknown declaration ${target::class.simpleName}") {
withFirEntry("declaration", target)
}
@@ -132,9 +131,7 @@ private class LLFirTypeTargetResolver(target: LLFirResolveTarget) : LLFirTargetR
resolveOutsideClassBody(target, transformer::transformDelegatedConstructorCall)
}
is FirScript -> resolveScriptTypes(target)
is FirDanglingModifierList, is FirFileAnnotationsContainer, is FirCallableDeclaration, is FirTypeAlias,
is FirAnonymousInitializer,
-> {
is FirDanglingModifierList, is FirCallableDeclaration, is FirTypeAlias, is FirAnonymousInitializer -> {
if (target is FirField && target.origin == FirDeclarationOrigin.Synthetic.DelegateField) {
// delegated field should be resolved in the same context as super types
resolveOutsideClassBody(target, transformer::transformDelegateField)
@@ -143,6 +140,7 @@ private class LLFirTypeTargetResolver(target: LLFirResolveTarget) : LLFirTargetR
}
}
is FirFile -> transformer.withFileScope(target) { target.transformAnnotations(transformer, null) }
is FirRegularClass -> resolveClassTypes(target)
else -> errorWithAttachment("Unknown declaration ${target::class.simpleName}") {
withFirEntry("declaration", target)
@@ -452,7 +452,7 @@ private class ContextCollectorVisitor(
private fun Processor.processFileHeader(file: FirFile) {
process(file.packageDirective)
processList(file.imports)
process(file.annotationsContainer)
processList(file.annotations)
}
/**
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.util
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.llFirResolvableSession
import org.jetbrains.kotlin.fir.FirElementWithResolveState
import org.jetbrains.kotlin.fir.FirFileAnnotationsContainer
import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.psi
import org.jetbrains.kotlin.fir.resolve.providers.firProvider
@@ -18,7 +17,6 @@ fun FirElementWithResolveState.getContainingFile(): FirFile? {
return when (this) {
is FirFile -> this
is FirScript -> provider.getFirScriptContainerFile(symbol)
is FirFileAnnotationsContainer -> containingFileSymbol.fir
is FirTypeParameter -> containingDeclarationSymbol.fir.getContainingFile()
is FirPropertyAccessor -> propertySymbol.fir.getContainingFile()
is FirValueParameter -> containingFunctionSymbol.fir.getContainingFile()
@@ -14,7 +14,6 @@ Tower Data Context:
FILE: [ResolvedTo(IMPORTS)] fileAnnotation.kt
@FILE:Anno[Unresolved]()
[ResolvedTo(RAW_FIR)] annotations container
@Target[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] constructor(): R|Anno| {
LAZY_super<R|kotlin/Any|>
@@ -8,4 +8,3 @@ FIR element rendered:
FIR FILE:
FILE: [ResolvedTo(ANNOTATION_ARGUMENTS)] fileAnnotation.kt
@FILE:R|kotlin/Suppress|[Types](names = vararg(String()))
[ResolvedTo(ANNOTATION_ARGUMENTS)] annotations container
@@ -8,7 +8,6 @@ FIR element rendered:
FIR FILE:
FILE: [ResolvedTo(ANNOTATION_ARGUMENTS)] fileAnnotationScript.kts
@FILE:R|kotlin/Suppress|[Types](names = vararg(String()))
[ResolvedTo(ANNOTATION_ARGUMENTS)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-fileAnnotationScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -8,7 +8,6 @@ FIR element rendered:
FIR FILE:
FILE: [ResolvedTo(ANNOTATION_ARGUMENTS)] file.kt
@FILE:R|Ann|[Types]()
[ResolvedTo(ANNOTATION_ARGUMENTS)] annotations container
public final [ResolvedTo(STATUS)] annotation class Ann : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Ann] constructor(): R|Ann| {
LAZY_super<R|kotlin/Any|>
@@ -8,7 +8,6 @@ FIR element rendered:
FIR FILE:
FILE: [ResolvedTo(ANNOTATION_ARGUMENTS)] fileScript.kts
@FILE:R|Ann|[Types]()
[ResolvedTo(ANNOTATION_ARGUMENTS)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-fileScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -1,12 +1,10 @@
KT element: KtFileAnnotationList
FIR element: FirFileAnnotationsContainerImpl
FIR source kind: KtRealSourceElementKind
FIR element: null
FIR source kind: null
FIR element rendered:
@FILE:R|kotlin/Suppress|[Types](names = vararg(String()))
[ResolvedTo(ANNOTATION_ARGUMENTS)] annotations container
null
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] fileAnnotationList.kt
@FILE:R|kotlin/Suppress|[Types](names = vararg(String()))
[ResolvedTo(ANNOTATION_ARGUMENTS)] annotations container
FILE: [ResolvedTo(RAW_FIR)] fileAnnotationList.kt
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
@@ -1,15 +1,13 @@
KT element: KtFileAnnotationList
FIR element: FirFileAnnotationsContainerImpl
FIR source kind: KtRealSourceElementKind
FIR element: null
FIR source kind: null
FIR element rendered:
@FILE:R|kotlin/Suppress|[Types](names = vararg(String()))
[ResolvedTo(ANNOTATION_ARGUMENTS)] annotations container
null
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] fileAnnotationListScript.kts
@FILE:R|kotlin/Suppress|[Types](names = vararg(String()))
[ResolvedTo(ANNOTATION_ARGUMENTS)] annotations container
FILE: [ResolvedTo(RAW_FIR)] fileAnnotationListScript.kts
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-fileAnnotationListScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -1,82 +1,69 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] annotations.kt
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
@Suppress[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] annotations.kt
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
@Suppress[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] annotations.kt
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
@Suppress[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] annotations.kt
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
@Suppress[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(COMPANION_GENERATION)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] annotations.kt
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
@Suppress[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(SUPER_TYPES)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
TYPES:
FILE: [ResolvedTo(IMPORTS)] annotations.kt
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
@R|kotlin/Suppress|[Types](LAZY_EXPRESSION) public? final? [ResolvedTo(TYPES)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
STATUS:
FILE: [ResolvedTo(IMPORTS)] annotations.kt
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
@R|kotlin/Suppress|[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] annotations.kt
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
@R|kotlin/Suppress|[Types](LAZY_EXPRESSION) public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] annotations.kt
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
@R|kotlin/Suppress|[Types](LAZY_EXPRESSION) public final [ResolvedTo(CONTRACTS)] fun resolveMe(): R|kotlin/Unit| {
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] annotations.kt
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
@R|kotlin/Suppress|[Types](LAZY_EXPRESSION) public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
}
ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] annotations.kt
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
@R|kotlin/Suppress|[Types](names = vararg(String(2))) public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun resolveMe(): R|kotlin/Unit| {
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] annotations.kt
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
@R|kotlin/Suppress|[Types](names = vararg(String(2))) public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] annotations.kt
@FILE:R|kotlin/Suppress|[Types](names = vararg(String(1)))
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/Suppress|[Types](names = vararg(String(2))) public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
}
@@ -1,7 +1,6 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] annotationsScript.kts
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-annotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -12,7 +11,6 @@ FILE: [ResolvedTo(RAW_FIR)] annotationsScript.kts
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-annotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -23,7 +21,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-annotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -34,7 +31,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-annotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -45,7 +41,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-annotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -56,7 +51,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
TYPES:
FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-annotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -67,7 +61,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
STATUS:
FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-annotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -78,7 +71,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-annotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -89,7 +81,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-annotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -101,7 +92,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-annotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -113,7 +103,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-annotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -125,7 +114,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
@FILE:Suppress[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-annotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -137,7 +125,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationsScript.kts
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] annotationsScript.kts
@FILE:R|kotlin/Suppress|[Types](names = vararg(String(1)))
[ResolvedTo(BODY_RESOLVE)] annotations container
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-annotationsScript.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
@@ -4,4 +4,4 @@ package one
@Target(AnnotationTarget.FILE)
annotation class Anno(val s: String)
// RESOLVE_FILE_ANNOTATIONS
// RESOLVE_FILE
@@ -2,7 +2,6 @@ RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] fileAnnotations.kt
@FILE:Deprecated[Unresolved](LAZY_EXPRESSION)
@FILE:Anno[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
@Target[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.s] s: String): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -17,7 +16,6 @@ IMPORTS:
FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
@FILE:Deprecated[Unresolved](LAZY_EXPRESSION)
@FILE:Anno[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
@Target[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.s] s: String): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -29,10 +27,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
}
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
FILE: [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fileAnnotations.kt
@FILE:R|kotlin/Deprecated|[CompilerRequiredAnnotations](String())
@FILE:Anno[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotations container
@Target[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.s] s: String): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -44,10 +41,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
}
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
FILE: [ResolvedTo(COMPANION_GENERATION)] fileAnnotations.kt
@FILE:R|kotlin/Deprecated|[CompilerRequiredAnnotations](String())
@FILE:Anno[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(COMPANION_GENERATION)] annotations container
@Target[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.s] s: String): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -59,10 +55,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
}
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
FILE: [ResolvedTo(SUPER_TYPES)] fileAnnotations.kt
@FILE:R|kotlin/Deprecated|[CompilerRequiredAnnotations](String())
@FILE:Anno[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(SUPER_TYPES)] annotations container
@Target[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.s] s: String): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -74,10 +69,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
}
TYPES:
FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
FILE: [ResolvedTo(TYPES)] fileAnnotations.kt
@FILE:R|kotlin/Deprecated|[Types](String())
@FILE:R|one/Anno|[Types](LAZY_EXPRESSION)
[ResolvedTo(TYPES)] annotations container
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FILE|) public final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.s] s: String): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -89,10 +83,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
}
STATUS:
FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
FILE: [ResolvedTo(STATUS)] fileAnnotations.kt
@FILE:R|kotlin/Deprecated|[Types](String())
@FILE:R|one/Anno|[Types](LAZY_EXPRESSION)
[ResolvedTo(STATUS)] annotations container
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FILE|) public final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.s] s: String): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -104,10 +97,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
}
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
FILE: [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fileAnnotations.kt
@FILE:R|kotlin/Deprecated|[Types](String())
@FILE:R|one/Anno|[Types](LAZY_EXPRESSION)
[ResolvedTo(EXPECT_ACTUAL_MATCHING)] annotations container
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FILE|) public final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.s] s: String): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -119,10 +111,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
}
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
FILE: [ResolvedTo(CONTRACTS)] fileAnnotations.kt
@FILE:R|kotlin/Deprecated|[Types](String())
@FILE:R|one/Anno|[Types](LAZY_EXPRESSION)
[ResolvedTo(CONTRACTS)] annotations container
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FILE|) public final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.s] s: String): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -134,10 +125,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
FILE: [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fileAnnotations.kt
@FILE:R|kotlin/Deprecated|[Types](String())
@FILE:R|one/Anno|[Types](LAZY_EXPRESSION)
[ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] annotations container
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FILE|) public final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.s] s: String): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -149,10 +139,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
}
ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
FILE: [ResolvedTo(ANNOTATION_ARGUMENTS)] fileAnnotations.kt
@FILE:R|kotlin/Deprecated|[Types](message = String())
@FILE:R|one/Anno|[Types](s = String(anno))
[ResolvedTo(ANNOTATION_ARGUMENTS)] annotations container
@R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FILE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=one/Anno.s] s: R|kotlin/String|): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -164,10 +153,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] fileAnnotations.kt
FILE: [ResolvedTo(BODY_RESOLVE)] fileAnnotations.kt
@FILE:R|kotlin/Deprecated|[Types](message = String())
@FILE:R|one/Anno|[Types](s = String(anno))
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FILE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=one/Anno.s] s: R|kotlin/String|): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -182,7 +170,6 @@ FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] fileAnnotations.kt
@FILE:R|kotlin/Deprecated|[Types](message = String())
@FILE:R|one/Anno|[Types](s = String(anno))
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FILE|)) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Anno] constructor([ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=one/Anno.s] s: R|kotlin/String|): R|one/Anno| {
super<R|kotlin/Any|>()
@@ -4,4 +4,4 @@ package one
@Target(AnnotationTarget.FILE)
annotation class Anno(val s: String)
// RESOLVE_FILE_ANNOTATIONS
// RESOLVE_FILE
@@ -2,7 +2,6 @@ RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] fileAnnotationsScript.kts
@FILE:Deprecated[Unresolved](LAZY_EXPRESSION)
@FILE:Anno[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-fileAnnotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -22,7 +21,6 @@ IMPORTS:
FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
@FILE:Deprecated[Unresolved](LAZY_EXPRESSION)
@FILE:Anno[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-fileAnnotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -39,10 +37,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
FILE: [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fileAnnotationsScript.kts
@FILE:R|kotlin/Deprecated|[CompilerRequiredAnnotations](String())
@FILE:Anno[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-fileAnnotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -59,10 +56,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
FILE: [ResolvedTo(COMPANION_GENERATION)] fileAnnotationsScript.kts
@FILE:R|kotlin/Deprecated|[CompilerRequiredAnnotations](String())
@FILE:Anno[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(COMPANION_GENERATION)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-fileAnnotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -79,10 +75,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
FILE: [ResolvedTo(SUPER_TYPES)] fileAnnotationsScript.kts
@FILE:R|kotlin/Deprecated|[CompilerRequiredAnnotations](String())
@FILE:Anno[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(SUPER_TYPES)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-fileAnnotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -99,10 +94,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
TYPES:
FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
FILE: [ResolvedTo(TYPES)] fileAnnotationsScript.kts
@FILE:R|kotlin/Deprecated|[Types](String())
@FILE:R|one/Anno|[Types](LAZY_EXPRESSION)
[ResolvedTo(TYPES)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-fileAnnotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -119,10 +113,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
STATUS:
FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
FILE: [ResolvedTo(STATUS)] fileAnnotationsScript.kts
@FILE:R|kotlin/Deprecated|[Types](String())
@FILE:R|one/Anno|[Types](LAZY_EXPRESSION)
[ResolvedTo(STATUS)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-fileAnnotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -139,10 +132,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
FILE: [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fileAnnotationsScript.kts
@FILE:R|kotlin/Deprecated|[Types](String())
@FILE:R|one/Anno|[Types](LAZY_EXPRESSION)
[ResolvedTo(EXPECT_ACTUAL_MATCHING)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-fileAnnotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -159,10 +151,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
FILE: [ResolvedTo(CONTRACTS)] fileAnnotationsScript.kts
@FILE:R|kotlin/Deprecated|[Types](String())
@FILE:R|one/Anno|[Types](LAZY_EXPRESSION)
[ResolvedTo(CONTRACTS)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-fileAnnotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -179,10 +170,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
FILE: [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fileAnnotationsScript.kts
@FILE:R|kotlin/Deprecated|[Types](String())
@FILE:R|one/Anno|[Types](LAZY_EXPRESSION)
[ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-fileAnnotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -199,10 +189,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
FILE: [ResolvedTo(ANNOTATION_ARGUMENTS)] fileAnnotationsScript.kts
@FILE:R|kotlin/Deprecated|[Types](message = String())
@FILE:R|one/Anno|[Types](s = String(anno))
[ResolvedTo(ANNOTATION_ARGUMENTS)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-fileAnnotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -219,10 +208,9 @@ FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] fileAnnotationsScript.kts
FILE: [ResolvedTo(BODY_RESOLVE)] fileAnnotationsScript.kts
@FILE:R|kotlin/Deprecated|[Types](message = String())
@FILE:R|one/Anno|[Types](s = String(anno))
[ResolvedTo(BODY_RESOLVE)] annotations container
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-fileAnnotationsScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
@@ -242,7 +230,6 @@ FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] fileAnnotationsScript.kts
@FILE:R|kotlin/Deprecated|[Types](message = String())
@FILE:R|one/Anno|[Types](s = String(anno))
[ResolvedTo(BODY_RESOLVE)] annotations container
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-fileAnnotationsScript.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
@@ -2,7 +2,6 @@ RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] fileElements.kt
@FILE:Deprecated[Unresolved](LAZY_EXPRESSION)
@FILE:Anno[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.i] i: Int): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -41,7 +40,6 @@ IMPORTS:
FILE: [ResolvedTo(IMPORTS)] fileElements.kt
@FILE:Deprecated[Unresolved](LAZY_EXPRESSION)
@FILE:Anno[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(RAW_FIR)] annotations container
public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.i] i: Int): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -80,7 +78,6 @@ COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fileElements.kt
@FILE:R|kotlin/Deprecated|[CompilerRequiredAnnotations](String(deprecated file))
@FILE:Anno[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotations container
public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.i] i: Int): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -119,7 +116,6 @@ COMPANION_GENERATION:
FILE: [ResolvedTo(COMPANION_GENERATION)] fileElements.kt
@FILE:R|kotlin/Deprecated|[CompilerRequiredAnnotations](String(deprecated file))
@FILE:Anno[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(COMPANION_GENERATION)] annotations container
public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.i] i: Int): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -158,7 +154,6 @@ SUPER_TYPES:
FILE: [ResolvedTo(SUPER_TYPES)] fileElements.kt
@FILE:R|kotlin/Deprecated|[CompilerRequiredAnnotations](String(deprecated file))
@FILE:Anno[Unresolved](LAZY_EXPRESSION)
[ResolvedTo(SUPER_TYPES)] annotations container
public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.i] i: Int): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -197,7 +192,6 @@ TYPES:
FILE: [ResolvedTo(TYPES)] fileElements.kt
@FILE:R|kotlin/Deprecated|[Types](String(deprecated file))
@FILE:R|one/Anno|[Types](LAZY_EXPRESSION)
[ResolvedTo(TYPES)] annotations container
public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.i] i: Int): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -236,7 +230,6 @@ STATUS:
FILE: [ResolvedTo(STATUS)] fileElements.kt
@FILE:R|kotlin/Deprecated|[Types](String(deprecated file))
@FILE:R|one/Anno|[Types](LAZY_EXPRESSION)
[ResolvedTo(STATUS)] annotations container
public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.i] i: Int): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -275,7 +268,6 @@ EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fileElements.kt
@FILE:R|kotlin/Deprecated|[Types](String(deprecated file))
@FILE:R|one/Anno|[Types](LAZY_EXPRESSION)
[ResolvedTo(EXPECT_ACTUAL_MATCHING)] annotations container
public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.i] i: Int): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -314,7 +306,6 @@ CONTRACTS:
FILE: [ResolvedTo(CONTRACTS)] fileElements.kt
@FILE:R|kotlin/Deprecated|[Types](String(deprecated file))
@FILE:R|one/Anno|[Types](LAZY_EXPRESSION)
[ResolvedTo(CONTRACTS)] annotations container
public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.i] i: Int): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -353,7 +344,6 @@ IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fileElements.kt
@FILE:R|kotlin/Deprecated|[Types](String(deprecated file))
@FILE:R|one/Anno|[Types](LAZY_EXPRESSION)
[ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] annotations container
public final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/Anno.i] i: Int): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -392,7 +382,6 @@ ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(ANNOTATION_ARGUMENTS)] fileElements.kt
@FILE:R|kotlin/Deprecated|[Types](message = String(deprecated file))
@FILE:R|one/Anno|[Types](i = Int(1))
[ResolvedTo(ANNOTATION_ARGUMENTS)] annotations container
public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=one/Anno.i] i: R|kotlin/Int|): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -431,7 +420,6 @@ BODY_RESOLVE:
FILE: [ResolvedTo(BODY_RESOLVE)] fileElements.kt
@FILE:R|kotlin/Deprecated|[Types](message = String(deprecated file))
@FILE:R|one/Anno|[Types](i = Int(1))
[ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=one/Anno.i] i: R|kotlin/Int|): R|one/Anno| {
LAZY_super<R|kotlin/Any|>
@@ -470,7 +458,6 @@ FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] fileElements.kt
@FILE:R|kotlin/Deprecated|[Types](message = String(deprecated file))
@FILE:R|one/Anno|[Types](i = Int(1))
[ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Anno] constructor([ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=one/Anno.i] i: R|kotlin/Int|): R|one/Anno| {
super<R|kotlin/Any|>()
@@ -17,7 +17,6 @@ import org.jetbrains.kotlin.fir.declarations.FirFile
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.renderer.FirDeclarationRendererWithFilteredAttributes
import org.jetbrains.kotlin.fir.renderer.FirErrorExpressionExtendedRenderer
import org.jetbrains.kotlin.fir.renderer.FirFileAnnotationsContainerRenderer
import org.jetbrains.kotlin.fir.renderer.FirRenderer
import org.jetbrains.kotlin.fir.renderer.FirResolvePhaseRenderer
import org.jetbrains.kotlin.fir.resolve.calls.FirSyntheticPropertiesScope
@@ -48,12 +47,6 @@ abstract class AbstractFirLazyDeclarationResolveTestCase : AbstractAnalysisApiBa
testServices: TestServices,
firResolveSession: LLFirResolveSession,
): Pair<FirElementWithResolveState, ((FirResolvePhase) -> Unit)> = when {
Directives.RESOLVE_FILE_ANNOTATIONS in moduleStructure.allDirectives -> {
val annotationContainer = firResolveSession.getOrBuildFirFile(ktFile).annotationsContainer!!
annotationContainer to fun(phase: FirResolvePhase) {
annotationContainer.lazyResolveToPhase(phase)
}
}
Directives.RESOLVE_FILE in moduleStructure.allDirectives -> {
val session = firResolveSession.useSiteFirSession as LLFirResolvableModuleSession
val file = session.moduleComponents.firFileBuilder.buildRawFirFileWithCaching(ktFile)
@@ -187,7 +180,6 @@ abstract class AbstractFirLazyDeclarationResolveTestCase : AbstractAnalysisApiBa
val IS_GETTER by valueDirective("Choose getter/setter in the case of property", parser = String::toBooleanStrict)
val RESOLVE_FILE_ANNOTATIONS by directive("Resolve file annotations instead of declaration at caret")
val RESOLVE_SCRIPT by directive("Resolve script instead of declaration at caret")
val RESOLVE_FILE by directive("Resolve file instead of declaration at caret")
}
@@ -198,7 +190,6 @@ internal fun lazyResolveRenderer(builder: StringBuilder): FirRenderer = FirRende
declarationRenderer = FirDeclarationRendererWithFilteredAttributes(),
resolvePhaseRenderer = FirResolvePhaseRenderer(),
errorExpressionRenderer = FirErrorExpressionExtendedRenderer(),
fileAnnotationsContainerRenderer = FirFileAnnotationsContainerRenderer(),
)
internal operator fun List<FirFile>.contains(element: FirElementWithResolveState): Boolean = if (element is FirFile) {
@@ -55,7 +55,6 @@ private fun render(firElement: FirElement?): String = when (firElement) {
null -> "null"
is FirImport -> "import ${firElement.importedFqName}"
else -> FirRenderer(
fileAnnotationsContainerRenderer = FirFileAnnotationsContainerRenderer(),
packageDirectiveRenderer = FirPackageDirectiveRenderer(),
resolvePhaseRenderer = FirResolvePhaseRenderer(),
declarationRenderer = FirDeclarationRendererWithFilteredAttributes(),