[FIR] builder: provide containingDeclarationSymbol

We cannot use only non-local declarations as anchors due to the same
resolution logic between member declarations of local classes, so we
have to support such cases as well

^KT-63042
This commit is contained in:
Dmitrii Gridin
2023-11-13 14:40:17 +01:00
committed by Space Team
parent be4bc81b1b
commit c5cba4c053
45 changed files with 3767 additions and 1295 deletions
@@ -249,10 +249,9 @@ object LowLevelFirApiFacadeForResolveOnAir {
firResolveSession: LLFirResolvableResolveSession,
): FirAnnotation {
val annotationCall = buildFileFirAnnotation(
session = firFile.moduleData.session,
baseScopeProvider = firFile.moduleData.session.kotlinScopeProvider,
firFile = firFile,
fileAnnotation = annotationEntry,
replacement = replacement
replacement = replacement,
)
val fileAnnotationsContainer = buildFileAnnotationsContainer {
@@ -81,7 +81,7 @@ internal object FirLazyBodiesCalculator {
val builder = PsiRawFirBuilder(session, baseScopeProvider = session.kotlinScopeProvider)
val ktAnnotationEntry = annotationCall.psi as KtAnnotationEntry
builder.context.packageFqName = ktAnnotationEntry.containingKtFile.packageFqName
val newAnnotationCall = builder.buildAnnotationCall(ktAnnotationEntry)
val newAnnotationCall = builder.buildAnnotationCall(ktAnnotationEntry, annotationCall.containingDeclarationSymbol)
return newAnnotationCall.argumentList
}
@@ -1,35 +1,39 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2023 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.
*/
package org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve
import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.builder.PsiRawFirBuilder
import org.jetbrains.kotlin.fir.declarations.FirFile
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
import org.jetbrains.kotlin.fir.scopes.FirScopeProvider
import org.jetbrains.kotlin.fir.scopes.kotlinScopeProvider
import org.jetbrains.kotlin.psi.KtAnnotationEntry
import org.jetbrains.kotlin.psi.KtElement
internal fun buildFileFirAnnotation(
session: FirSession,
baseScopeProvider: FirScopeProvider,
firFile: FirFile,
fileAnnotation: KtAnnotationEntry,
replacement: RawFirReplacement? = null
replacement: RawFirReplacement,
): FirAnnotation {
val replacementApplier = replacement?.Applier()
val session = firFile.moduleData.session
val baseScopeProvider = firFile.moduleData.session.kotlinScopeProvider
val replacementApplier = replacement.Applier()
val builder = object : PsiRawFirBuilder(session, baseScopeProvider) {
inner class VisitorWithReplacement : Visitor() {
override fun convertElement(element: KtElement, original: FirElement?): FirElement? =
super.convertElement(replacementApplier?.tryReplace(element) ?: element, original)
super.convertElement(replacementApplier.tryReplace(element), original)
}
}
builder.context.packageFqName = fileAnnotation.containingKtFile.packageFqName
val result = builder.VisitorWithReplacement().convertElement(fileAnnotation, null) as FirAnnotation
replacementApplier?.ensureApplied()
val visitor = builder.VisitorWithReplacement()
val result = builder.withContainerSymbol(firFile.symbol) {
visitor.convertElement(fileAnnotation, null) as FirAnnotation
}
replacementApplier.ensureApplied()
return result
}
@@ -31,6 +31,7 @@ import org.jetbrains.kotlin.name.NameUtils
import org.jetbrains.kotlin.psi
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.hasExpectModifier
import org.jetbrains.kotlin.util.PrivateForInline
import org.jetbrains.kotlin.utils.exceptions.errorWithAttachment
internal class RawFirNonLocalDeclarationBuilder private constructor(
@@ -76,16 +77,17 @@ internal class RawFirNonLocalDeclarationBuilder private constructor(
else -> null
}
return build(session, scopeProvider, designation, rootNonLocalDeclaration, functionsToRebind)
return build(session, scopeProvider, designation, rootNonLocalDeclaration, functionsToRebind, rebindContainingSymbol = true)
}
fun build(
private fun build(
session: FirSession,
scopeProvider: FirScopeProvider,
designation: FirDesignation,
rootNonLocalDeclaration: KtElement,
functionsToRebind: Set<FirFunction>? = null,
replacementApplier: RawFirReplacement.Applier? = null
replacementApplier: RawFirReplacement.Applier? = null,
rebindContainingSymbol: Boolean = false,
): FirDeclaration {
check(rootNonLocalDeclaration is KtDeclaration || rootNonLocalDeclaration is KtCodeFragment)
@@ -98,6 +100,11 @@ internal class RawFirNonLocalDeclarationBuilder private constructor(
replacementApplier = replacementApplier
)
builder.context.packageFqName = rootNonLocalDeclaration.containingKtFile.packageFqName
if (rebindContainingSymbol) {
@OptIn(PrivateForInline::class)
builder.context.forcedContainerSymbol = designation.target.symbol
}
return builder.moveNext(designation.path.iterator(), containingClass = null)
}
}
@@ -299,10 +306,9 @@ internal class RawFirNonLocalDeclarationBuilder private constructor(
if (superTypeListEntry is KtDelegatedSuperTypeEntry) {
val expectedName = NameUtils.delegateFieldName(index)
if (originalDeclaration.name == expectedName) {
return buildFieldForSupertypeDelegate(
superTypeListEntry, superTypeListEntry.typeReference.toFirOrErrorType(), index
)
return buildFieldForSupertypeDelegate(superTypeListEntry, type = null, index)
}
index++
}
}
@@ -824,6 +824,11 @@ class CallAndReferenceGenerator(
name = symbol.classId.shortClassName
resolvedSymbol = constructorSymbol
}
/**
* This is not right, but it doesn't make sense as [FirAnnotationCall.containingDeclarationSymbol] uses only in FIR
*/
containingDeclarationSymbol = constructorSymbol
}
}
@@ -7,15 +7,19 @@ package org.jetbrains.kotlin.fir.lightTree.fir
import org.jetbrains.kotlin.KtSourceElement
import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.builder.AbstractRawFirBuilder
import org.jetbrains.kotlin.fir.builder.DestructuringContext
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
import org.jetbrains.kotlin.fir.builder.addDestructuringStatements
import org.jetbrains.kotlin.fir.declarations.FirVariable
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.FirStatement
import org.jetbrains.kotlin.fir.expressions.builder.buildAnnotationCallCopy
import org.jetbrains.kotlin.fir.expressions.builder.buildBlock
import org.jetbrains.kotlin.fir.generateTemporaryVariable
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.name.SpecialNames
@@ -27,6 +31,7 @@ data class DestructuringDeclaration(
val source: KtSourceElement,
val annotations: List<FirAnnotation>,
) {
context(AbstractRawFirBuilder<*>)
fun toFirDestructingDeclaration(
moduleData: FirModuleData,
tmpVariable: Boolean = true,
@@ -49,19 +54,24 @@ class DestructuringEntry(
val source: KtSourceElement,
val returnTypeRef: FirTypeRef,
val name: Name,
val annotations: List<FirAnnotation>,
val annotations: List<FirAnnotationCall>,
) {
@Suppress("EXTENSION_SHADOWED_BY_MEMBER")
companion object : DestructuringContext<DestructuringEntry> {
override val DestructuringEntry.returnTypeRef: FirTypeRef get() = returnTypeRef
override val DestructuringEntry.name: Name get() = name
override val DestructuringEntry.source: KtSourceElement get() = source
override fun DestructuringEntry.extractAnnotationsTo(target: FirAnnotationContainerBuilder) {
target.annotations += annotations
override fun DestructuringEntry.extractAnnotationsTo(target: FirAnnotationContainerBuilder, containerSymbol: FirBasedSymbol<*>) {
target.annotations += annotations.map {
buildAnnotationCallCopy(it) {
containingDeclarationSymbol = containerSymbol
}
}
}
}
}
context(AbstractRawFirBuilder<*>)
fun MutableList<FirStatement>.addDestructuringStatements(
moduleData: FirModuleData,
multiDeclaration: DestructuringDeclaration,
@@ -32,6 +32,7 @@ import org.jetbrains.kotlin.fir.declarations.utils.isFromVararg
import org.jetbrains.kotlin.fir.diagnostics.ConeSyntaxDiagnostic
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.builder.buildAnnotationCallCopy
import org.jetbrains.kotlin.fir.expressions.builder.buildPropertyAccessExpression
import org.jetbrains.kotlin.fir.lightTree.fir.modifier.Modifier
import org.jetbrains.kotlin.fir.references.builder.buildPropertyFromParameterResolvedNamedReference
@@ -128,8 +129,16 @@ class ValueParameter(
source = propertySource
}
}
isVar = this@ValueParameter.isVar
symbol = FirPropertySymbol(callableId)
val propertySymbol = FirPropertySymbol(callableId)
val remappedAnnotations = modifiers.annotations.map {
buildAnnotationCallCopy(it) {
containingDeclarationSymbol = propertySymbol
}
}
symbol = propertySymbol
dispatchReceiverType = currentDispatchReceiver
isLocal = false
status = FirDeclarationStatusImpl(modifiers.getVisibility(), modifiers.getModality(isClassOrObject = false)).apply {
@@ -145,7 +154,7 @@ class ValueParameter(
moduleData = moduleData,
origin = FirDeclarationOrigin.Source,
source = defaultAccessorSource,
annotations = modifiers.annotations.filter {
annotations = remappedAnnotations.filter {
it.useSiteTarget == FIELD || it.useSiteTarget == PROPERTY_DELEGATE_FIELD
}.toMutableList(),
returnTypeRef = returnTypeRef.copyWithNewSourceKind(KtFakeSourceElementKind.DefaultAccessor),
@@ -154,7 +163,7 @@ class ValueParameter(
status = status.copy(isLateInit = false),
)
annotations += modifiers.annotations.filter {
annotations += remappedAnnotations.filter {
it.useSiteTarget == null || it.useSiteTarget == PROPERTY
}
@@ -168,7 +177,7 @@ class ValueParameter(
isInline = modifiers.hasInline(),
).also {
it.initContainingClassAttr(context)
it.replaceAnnotations(modifiers.annotations.filterUseSiteTarget(PROPERTY_GETTER))
it.replaceAnnotations(remappedAnnotations.filterUseSiteTarget(PROPERTY_GETTER))
}
setter = if (this.isVar) FirDefaultPropertySetter(
defaultAccessorSource,
@@ -177,11 +186,11 @@ class ValueParameter(
type.copyWithNewSourceKind(KtFakeSourceElementKind.DefaultAccessor),
modifiers.getVisibility(),
symbol,
parameterAnnotations = modifiers.annotations.filterUseSiteTarget(SETTER_PARAMETER),
parameterAnnotations = remappedAnnotations.filterUseSiteTarget(SETTER_PARAMETER),
isInline = modifiers.hasInline(),
).also {
it.initContainingClassAttr(context)
it.replaceAnnotations(modifiers.annotations.filterUseSiteTarget(PROPERTY_SETTER))
it.replaceAnnotations(remappedAnnotations.filterUseSiteTarget(PROPERTY_SETTER))
} else null
}.apply {
if (firValueParameter.isVararg) {
@@ -1,6 +1,6 @@
/*
* Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the license/LICENSE.txt file.
* Copyright 2010-2023 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.
*/
package org.jetbrains.kotlin.fir.lightTree
@@ -24,7 +24,8 @@ abstract class AbstractLightTree2FirConverterTestCase : AbstractRawFirBuilderTes
).buildFirFile(Paths.get(filePath))
val firDump = FirRenderer.withDeclarationAttributes().renderElementAsString(firFile)
val expectedFile = File(filePath.replace(".kt", ".txt"))
val expectedFile = File(expectedPath(filePath, ".txt"))
KotlinTestUtils.assertEqualsToFile(expectedFile, firDump)
checkAnnotationOwners(filePath, firFile)
}
}
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2023 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.
*/
@@ -119,7 +119,7 @@ internal fun generateTemporaryVariable(
extractAnnotationsTo,
)
context(DestructuringContext<KtDestructuringDeclarationEntry>)
context(AbstractRawFirBuilder<*>, DestructuringContext<KtDestructuringDeclarationEntry>)
internal fun generateDestructuringBlock(
moduleData: FirModuleData,
multiDeclaration: KtDestructuringDeclaration,
@@ -139,7 +139,7 @@ internal fun generateDestructuringBlock(
}
}
context(DestructuringContext<KtDestructuringDeclarationEntry>)
context(AbstractRawFirBuilder<*>, DestructuringContext<KtDestructuringDeclarationEntry>)
internal fun MutableList<FirStatement>.addDestructuringStatements(
moduleData: FirModuleData,
multiDeclaration: KtDestructuringDeclaration,
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,182 @@
@Target(AnnotationTarget#.CLASS#, AnnotationTarget#.PROPERTY#, AnnotationTarget#.LOCAL_VARIABLE#, AnnotationTarget#.VALUE_PARAMETER#, AnnotationTarget#.CONSTRUCTOR#, AnnotationTarget#.FUNCTION#, AnnotationTarget#.TYPE#)
owner -> FirRegularClassSymbol base
context -> FirRegularClassSymbol base
@base()
owner -> FirConstructorSymbol /correct.correct
context -> FirValueParameterSymbol <local>/x from FirConstructorSymbol /correct.correct
@base()
owner -> FirPropertySymbol /correct.x
context -> FirPropertySymbol /correct.x
@base()
owner -> FirConstructorSymbol /correct.correct
context -> FirConstructorSymbol /correct.correct
@base()
owner -> FirAnonymousInitializerSymbol <init>
context -> FirAnonymousInitializerSymbol <init> from FirRegularClassSymbol correct
@base()
owner -> FirRegularClassSymbol correct
context -> FirRegularClassSymbol correct
@base()
owner -> FirEnumEntrySymbol /My.FIRST
context -> FirEnumEntrySymbol /My.FIRST
@base()
owner -> FirEnumEntrySymbol /My.SECOND
context -> FirEnumEntrySymbol /My.SECOND
@base()
owner -> FirRegularClassSymbol My
context -> FirRegularClassSymbol My
@base()
owner -> FirNamedFunctionSymbol /foo
context -> FirNamedFunctionSymbol /foo
@base()
owner -> FirNamedFunctionSymbol /foo
context -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /foo
@base()
owner -> FirNamedFunctionSymbol /foo
context -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /foo
@base()
owner -> FirNamedFunctionSymbol /foo
context -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar from FirNamedFunctionSymbol /foo
@base()
owner -> FirNamedFunctionSymbol /foo
context -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar from FirNamedFunctionSymbol /foo
@base()
owner -> FirNamedFunctionSymbol /foo
context -> FirNamedFunctionSymbol <local>/bar from FirNamedFunctionSymbol /foo
@base()
owner -> FirNamedFunctionSymbol /foo
context -> FirPropertySymbol <local>/local from FirNamedFunctionSymbol /foo
@base()
owner -> FirNamedFunctionSymbol /foo
context -> FirNamedFunctionSymbol /foo
@base()
owner -> FirPropertySymbol /z
context -> FirPropertySymbol /z
@base()
owner -> FirPropertySymbol /x
context -> FirPropertySymbol /x
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /x
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /x
@base()
owner -> FirPropertySymbol /x
context -> FirPropertySymbol /x
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /x
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /x
@base()
owner -> FirPropertySymbol /x
context -> FirPropertySymbol /x
@Target(AnnotationTarget#.CLASS#, AnnotationTarget#.PROPERTY#, AnnotationTarget#.LOCAL_VARIABLE#, AnnotationTarget#.VALUE_PARAMETER#, AnnotationTarget#.CONSTRUCTOR#, AnnotationTarget#.FUNCTION#, AnnotationTarget#.TYPE#)
owner -> FirRegularClassSymbol derived
context -> FirRegularClassSymbol derived
@base()
owner -> FirRegularClassSymbol derived
context -> FirRegularClassSymbol derived
@derived(IntegerLiteral(1))
owner -> FirConstructorSymbol /correctDerived.correctDerived
context -> FirValueParameterSymbol <local>/x from FirConstructorSymbol /correctDerived.correctDerived
context -> FirPropertySymbol /correctDerived.x
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /correctDerived.x
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /correctDerived.x
@derived(IntegerLiteral(1))
owner -> FirConstructorSymbol /correctDerived.correctDerived
context -> FirValueParameterSymbol <local>/x from FirConstructorSymbol /correctDerived.correctDerived
@derived(IntegerLiteral(1))
owner -> FirPropertySymbol /correctDerived.x
context -> FirPropertySymbol /correctDerived.x
@base()
owner -> FirConstructorSymbol /correctDerived.correctDerived
context -> FirConstructorSymbol /correctDerived.correctDerived
@derived(IntegerLiteral(1))
owner -> FirRegularClassSymbol correctDerived
context -> FirRegularClassSymbol correctDerived
@derived(IntegerLiteral(1))
owner -> FirEnumEntrySymbol /MyDerived.FIRST
context -> FirEnumEntrySymbol /MyDerived.FIRST
@derived(IntegerLiteral(1))
owner -> FirEnumEntrySymbol /MyDerived.SECOND
context -> FirEnumEntrySymbol /MyDerived.SECOND
@derived(IntegerLiteral(1))
owner -> FirRegularClassSymbol MyDerived
context -> FirRegularClassSymbol MyDerived
@derived(IntegerLiteral(1))
owner -> FirNamedFunctionSymbol /fooDerived
context -> FirNamedFunctionSymbol /fooDerived
@derived(IntegerLiteral(1))
owner -> FirNamedFunctionSymbol /fooDerived
context -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /fooDerived
@derived(IntegerLiteral(1))
owner -> FirNamedFunctionSymbol /fooDerived
context -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /fooDerived
@derived(IntegerLiteral(1))
owner -> FirNamedFunctionSymbol /fooDerived
context -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar from FirNamedFunctionSymbol /fooDerived
@derived(IntegerLiteral(1))
owner -> FirNamedFunctionSymbol /fooDerived
context -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar from FirNamedFunctionSymbol /fooDerived
@derived(IntegerLiteral(1))
owner -> FirNamedFunctionSymbol /fooDerived
context -> FirNamedFunctionSymbol <local>/bar from FirNamedFunctionSymbol /fooDerived
@derived(IntegerLiteral(1))
owner -> FirNamedFunctionSymbol /fooDerived
context -> FirPropertySymbol <local>/local from FirNamedFunctionSymbol /fooDerived
@derived(IntegerLiteral(1))
owner -> FirNamedFunctionSymbol /fooDerived
context -> FirNamedFunctionSymbol /fooDerived
@derived(IntegerLiteral(1))
owner -> FirPropertySymbol /zDerived
context -> FirPropertySymbol /zDerived
@derived(IntegerLiteral(1))
owner -> FirPropertySymbol /xDerived
context -> FirPropertySymbol /xDerived
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /xDerived
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /xDerived
@derived(IntegerLiteral(1))
owner -> FirPropertySymbol /xDerived
context -> FirPropertySymbol /xDerived
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /xDerived
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /xDerived
@derived(IntegerLiteral(1))
owner -> FirPropertySymbol /xDerived
context -> FirPropertySymbol /xDerived
@@ -0,0 +1,39 @@
@FIELD:Ann()
owner -> FirConstructorSymbol /SomeClass.SomeClass
context -> FirConstructorSymbol /SomeClass.SomeClass
@FIELD:Ann()
owner -> FirPropertySymbol /SomeClass.simpleProperty
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /SomeClass.simpleProperty
@FIELD:Ann()
owner -> FirPropertySymbol /SomeClass.simplePropertyWithAnnotationList
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /SomeClass.simplePropertyWithAnnotationList
@FIELD:Ann()
owner -> FirPropertySymbol /SomeClass.delegatedProperty
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /SomeClass.delegatedProperty
@FIELD:Ann()
owner -> FirPropertySymbol /SomeClass.propertyWithCustomGetter
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /SomeClass.propertyWithCustomGetter
@FIELD:Ann()
owner -> FirNamedFunctionSymbol /SomeClass.anotherFun
context -> FirValueParameterSymbol <local>/s from FirNamedFunctionSymbol /SomeClass.anotherFun
@FIELD:Ann()
owner -> FirNamedFunctionSymbol /SomeClass.anotherFun
context -> FirPropertySymbol <local>/localVariable from FirNamedFunctionSymbol /SomeClass.anotherFun
@FIELD:Ann()
owner -> FirNamedFunctionSymbol /SomeClass.anotherFun
context -> FirNamedFunctionSymbol /SomeClass.anotherFun
@FIELD:Ann()
owner -> FirRegularClassSymbol SomeClass
context -> FirRegularClassSymbol SomeClass
@FIELD:Ann()
owner -> FirPropertySymbol /WithPrimaryConstructor.a
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /WithPrimaryConstructor.a
@@ -0,0 +1,35 @@
@FIELD:Ann()
owner -> FirPropertySymbol /x
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /x
@PROPERTY:Ann()
owner -> FirPropertySymbol /y
context -> FirPropertySymbol /y
@Ann()
owner -> FirPropertySymbol /z
context -> FirPropertySymbol /z
@CONSTRUCTOR_PARAMETER:Ann()
owner -> FirConstructorSymbol /Some.Some
context -> FirValueParameterSymbol <local>/z from FirConstructorSymbol /Some.Some
@FIELD:Ann()
owner -> FirPropertySymbol /Some.x
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /Some.x
@PROPERTY:Ann()
owner -> FirPropertySymbol /Some.y
context -> FirPropertySymbol /Some.y
@FIELD:Ann()
owner -> FirPropertySymbol /Some.a
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /Some.a
@PROPERTY:Ann()
owner -> FirPropertySymbol /Some.b
context -> FirPropertySymbol /Some.b
@Ann()
owner -> FirPropertySymbol /Some.c
context -> FirPropertySymbol /Some.c
@@ -0,0 +1,27 @@
@Target(AnnotationTarget#.TYPE#)
owner -> FirRegularClassSymbol util/Anno
context -> FirRegularClassSymbol util/Anno
@Anno(<strcat>(String(MyClassWithoutConstructor nested nested super type ref ), prop#))
owner -> FirRegularClassSymbol util/MyClassWithoutConstructor
context -> FirRegularClassSymbol util/MyClassWithoutConstructor
@Anno(<strcat>(String(MyClassWithoutConstructor nested super type ref ), prop#))
owner -> FirRegularClassSymbol util/MyClassWithoutConstructor
context -> FirRegularClassSymbol util/MyClassWithoutConstructor
@Anno(<strcat>(String(MyClassWithoutConstructor super type ref ), prop#))
owner -> FirRegularClassSymbol util/MyClassWithoutConstructor
context -> FirRegularClassSymbol util/MyClassWithoutConstructor
@Anno(<strcat>(String(MyClassWithConstructor nested nested super type ref ), prop#))
owner -> FirRegularClassSymbol util/MyClassWithConstructor
context -> FirRegularClassSymbol util/MyClassWithConstructor
@Anno(<strcat>(String(MyClassWithConstructor nested super type ref ), prop#))
owner -> FirRegularClassSymbol util/MyClassWithConstructor
context -> FirRegularClassSymbol util/MyClassWithConstructor
@Anno(<strcat>(String(MyClassWithConstructor super type ref ), prop#))
owner -> FirRegularClassSymbol util/MyClassWithConstructor
context -> FirRegularClassSymbol util/MyClassWithConstructor
@@ -0,0 +1,39 @@
@Target(AnnotationTarget#.TYPE#)
owner -> FirRegularClassSymbol util/Anno
context -> FirRegularClassSymbol util/Anno
@Anno(<strcat>(String(MyClassWithoutConstructor nested nested super type ref ), prop#))
owner -> FirRegularClassSymbol util/MyClassWithoutConstructor
context -> FirConstructorSymbol util/MyClassWithoutConstructor.MyClassWithoutConstructor
context -> FirConstructorSymbol util/MyClassWithoutConstructor.MyClassWithoutConstructor
context -> FirRegularClassSymbol util/MyClassWithoutConstructor
@Anno(<strcat>(String(MyClassWithoutConstructor nested super type ref ), prop#))
owner -> FirRegularClassSymbol util/MyClassWithoutConstructor
context -> FirConstructorSymbol util/MyClassWithoutConstructor.MyClassWithoutConstructor
context -> FirConstructorSymbol util/MyClassWithoutConstructor.MyClassWithoutConstructor
context -> FirRegularClassSymbol util/MyClassWithoutConstructor
@Anno(<strcat>(String(MyClassWithoutConstructor super type call ), prop#))
owner -> FirRegularClassSymbol util/MyClassWithoutConstructor
context -> FirConstructorSymbol util/MyClassWithoutConstructor.MyClassWithoutConstructor
context -> FirConstructorSymbol util/MyClassWithoutConstructor.MyClassWithoutConstructor
context -> FirRegularClassSymbol util/MyClassWithoutConstructor
@Anno(<strcat>(String(MyClassWithConstructor nested nested super type ref ), prop#))
owner -> FirRegularClassSymbol util/MyClassWithConstructor
context -> FirConstructorSymbol util/MyClassWithConstructor.MyClassWithConstructor
context -> FirConstructorSymbol util/MyClassWithConstructor.MyClassWithConstructor
context -> FirRegularClassSymbol util/MyClassWithConstructor
@Anno(<strcat>(String(MyClassWithConstructor nested super type ref ), prop#))
owner -> FirRegularClassSymbol util/MyClassWithConstructor
context -> FirConstructorSymbol util/MyClassWithConstructor.MyClassWithConstructor
context -> FirConstructorSymbol util/MyClassWithConstructor.MyClassWithConstructor
context -> FirRegularClassSymbol util/MyClassWithConstructor
@Anno(<strcat>(String(MyClassWithConstructor super type call ), prop#))
owner -> FirRegularClassSymbol util/MyClassWithConstructor
context -> FirConstructorSymbol util/MyClassWithConstructor.MyClassWithConstructor
context -> FirConstructorSymbol util/MyClassWithConstructor.MyClassWithConstructor
context -> FirRegularClassSymbol util/MyClassWithConstructor
@@ -0,0 +1,51 @@
@A()
owner -> FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.receiverArgument
context -> FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.receiverArgument
@A()
owner -> FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.parameter
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.parameter
@A()
owner -> FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.parameterArgument
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.parameterArgument
@A()
owner -> FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.returnValue
context -> FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.returnValue
@A()
owner -> FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.returnTypeParameterValue
context -> FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.returnTypeParameterValue
@A()
owner -> FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.returnArgument
context -> FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.returnArgument
@A()
owner -> FirPropertySymbol /AnnotationsOnNullableParenthesizedTypes.lambdaType
context -> FirPropertySymbol /AnnotationsOnNullableParenthesizedTypes.lambdaType
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /AnnotationsOnNullableParenthesizedTypes.lambdaType
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /AnnotationsOnNullableParenthesizedTypes.lambdaType
@A()
owner -> FirPropertySymbol /AnnotationsOnNullableParenthesizedTypes.lambdaParameter
context -> FirPropertySymbol /AnnotationsOnNullableParenthesizedTypes.lambdaParameter
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /AnnotationsOnNullableParenthesizedTypes.lambdaParameter
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /AnnotationsOnNullableParenthesizedTypes.lambdaParameter
@A()
owner -> FirPropertySymbol /AnnotationsOnNullableParenthesizedTypes.lambdaReturnValue
context -> FirPropertySymbol /AnnotationsOnNullableParenthesizedTypes.lambdaReturnValue
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /AnnotationsOnNullableParenthesizedTypes.lambdaReturnValue
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /AnnotationsOnNullableParenthesizedTypes.lambdaReturnValue
@A()
owner -> FirPropertySymbol /AnnotationsOnNullableParenthesizedTypes.lambdaReceiver
context -> FirPropertySymbol /AnnotationsOnNullableParenthesizedTypes.lambdaReceiver
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /AnnotationsOnNullableParenthesizedTypes.lambdaReceiver
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /AnnotationsOnNullableParenthesizedTypes.lambdaReceiver
@Target(AnnotationTarget#.TYPE#, AnnotationTarget#.TYPE_PARAMETER#)
owner -> FirRegularClassSymbol A
context -> FirRegularClassSymbol A
@@ -0,0 +1,57 @@
@A()
owner -> FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.receiverArgument
context -> FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.receiverArgument
@A()
owner -> FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.parameter
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.parameter
@A()
owner -> FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.parameterArgument
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.parameterArgument
@A()
owner -> FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.returnValue
context -> FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.returnValue
@A()
owner -> FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.returnTypeParameterValue
context -> FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.returnTypeParameterValue
@A()
owner -> FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.returnArgument
context -> FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.returnArgument
@A()
owner -> FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaType
context -> FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaType
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaType
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaType
@A()
owner -> FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaParameter
context -> FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaParameter
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaParameter
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaParameter
@A()
owner -> FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaReturnValue
context -> FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaReturnValue
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaReturnValue
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaReturnValue
@A()
owner -> FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaReceiver
context -> FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaReceiver
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaReceiver
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaReceiver
@A()
owner -> FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaParameterNP
context -> FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaParameterNP
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaParameterNP
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /AnnotationsOnParenthesizedTypes.lambdaParameterNP
@Target(AnnotationTarget#.TYPE#, AnnotationTarget#.TYPE_PARAMETER#)
owner -> FirRegularClassSymbol A
context -> FirRegularClassSymbol A
@@ -0,0 +1,33 @@
@SuperType(String(nested nested super type))
owner -> FirPropertySymbol /prop
context -> FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /prop
context -> FirConstructorSymbol <local>/<anonymous>.<anonymous> from FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /prop
context -> FirConstructorSymbol <local>/<anonymous>.<anonymous> from FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /prop
@SuperType(String(nested super type))
owner -> FirPropertySymbol /prop
context -> FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /prop
context -> FirConstructorSymbol <local>/<anonymous>.<anonymous> from FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /prop
context -> FirConstructorSymbol <local>/<anonymous>.<anonymous> from FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /prop
@SuperType(String(super type))
owner -> FirPropertySymbol /prop
context -> FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /prop
context -> FirConstructorSymbol <local>/<anonymous>.<anonymous> from FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /prop
context -> FirConstructorSymbol <local>/<anonymous>.<anonymous> from FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /prop
@Anno(String(init))
owner -> FirAnonymousInitializerSymbol <init>
context -> FirAnonymousInitializerSymbol <init> from FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /prop
@Expression(String(expr))
owner -> FirAnonymousInitializerSymbol <init>
context -> FirAnonymousInitializerSymbol <init> from FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /prop
@Anno(String(lambda param type))
owner -> FirAnonymousInitializerSymbol <init>
context -> FirValueParameterSymbol <local>/it from FirAnonymousFunctionSymbol special/anonymous from FirAnonymousInitializerSymbol <init> from FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /prop
@Anno(String(object annotation))
owner -> FirPropertySymbol /prop
context -> FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /prop
@@ -0,0 +1,11 @@
@Anno(<strcat>(String(nested nested bar ), prop#))
owner -> FirNamedFunctionSymbol <local>/bar
context -> FirNamedFunctionSymbol <local>/bar from FirRegularClassSymbol <local>/LocalIntoLocal from FirConstructorSymbol util/A.A
@Anno(<strcat>(String(nested bar ), prop#))
owner -> FirNamedFunctionSymbol <local>/bar
context -> FirNamedFunctionSymbol <local>/bar from FirRegularClassSymbol <local>/LocalIntoLocal from FirConstructorSymbol util/A.A
@Anno(<strcat>(String(bar ), prop#))
owner -> FirNamedFunctionSymbol <local>/bar
context -> FirNamedFunctionSymbol <local>/bar from FirRegularClassSymbol <local>/LocalIntoLocal from FirConstructorSymbol util/A.A
@@ -0,0 +1,39 @@
@Suppress(String())
owner -> FirDanglingModifierSymbol
context -> FirDanglingModifierSymbol from FirRegularClassSymbol A
@MustBeDocumented()
owner -> FirDanglingModifierSymbol
context -> FirDanglingModifierSymbol from FirRegularClassSymbol A
@Suppress(String())
owner -> FirDanglingModifierSymbol
context -> FirDanglingModifierSymbol from FirRegularClassSymbol B
@MustBeDocumented()
owner -> FirDanglingModifierSymbol
context -> FirDanglingModifierSymbol from FirRegularClassSymbol B
@Suppress(String())
owner -> FirDanglingModifierSymbol
context -> FirDanglingModifierSymbol from FirRegularClassSymbol Outer.Inner
@MustBeDocumented()
owner -> FirDanglingModifierSymbol
context -> FirDanglingModifierSymbol from FirRegularClassSymbol Outer.Inner
@Suppress(String())
owner -> FirDanglingModifierSymbol
context -> FirDanglingModifierSymbol from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /Outer.withLocal
@MustBeDocumented()
owner -> FirDanglingModifierSymbol
context -> FirDanglingModifierSymbol from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /Outer.withLocal
@Suppress(String())
owner -> FirDanglingModifierSymbol
context -> FirDanglingModifierSymbol from FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol <local>/r from FirNamedFunctionSymbol /Outer.withLocal
@MustBeDocumented()
owner -> FirDanglingModifierSymbol
context -> FirDanglingModifierSymbol from FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol <local>/r from FirNamedFunctionSymbol /Outer.withLocal
@@ -0,0 +1,7 @@
@Suppress(String())
owner -> FirDanglingModifierSymbol
context -> FirDanglingModifierSymbol from FirFileSymbol danglingAnnotationsFileLevel.kt
@MustBeDocumented()
owner -> FirDanglingModifierSymbol
context -> FirDanglingModifierSymbol from FirFileSymbol danglingAnnotationsFileLevel.kt
@@ -0,0 +1,107 @@
@Anno(<strcat>(String(nested nested Derived b parameter type ), x#))
owner -> FirConstructorSymbol /Derived.Derived
context -> FirValueParameterSymbol <local>/b from FirConstructorSymbol /Derived.Derived
context -> FirPropertySymbol /Derived.b
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /Derived.b
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /Derived.b
context -> FirNamedFunctionSymbol /Derived.component1
context -> FirValueParameterSymbol <local>/b from FirNamedFunctionSymbol /Derived.copy
@Anno(<strcat>(String(nested Derived b parameter type ), x#))
owner -> FirConstructorSymbol /Derived.Derived
context -> FirValueParameterSymbol <local>/b from FirConstructorSymbol /Derived.Derived
context -> FirPropertySymbol /Derived.b
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /Derived.b
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /Derived.b
context -> FirNamedFunctionSymbol /Derived.component1
context -> FirValueParameterSymbol <local>/b from FirNamedFunctionSymbol /Derived.copy
@Anno(<strcat>(String(Derived b parameter type ), x#))
owner -> FirConstructorSymbol /Derived.Derived
context -> FirValueParameterSymbol <local>/b from FirConstructorSymbol /Derived.Derived
context -> FirPropertySymbol /Derived.b
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /Derived.b
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /Derived.b
context -> FirNamedFunctionSymbol /Derived.component1
context -> FirValueParameterSymbol <local>/b from FirNamedFunctionSymbol /Derived.copy
@Anno(<strcat>(String(b ), x#))
owner -> FirConstructorSymbol /Derived.Derived
context -> FirValueParameterSymbol <local>/b from FirConstructorSymbol /Derived.Derived
@CONSTRUCTOR_PARAMETER:Anno(<strcat>(String(param: b ), x#))
owner -> FirConstructorSymbol /Derived.Derived
context -> FirValueParameterSymbol <local>/b from FirConstructorSymbol /Derived.Derived
@Anno(<strcat>(String(nested nested Derived c parameter type ), x#))
owner -> FirConstructorSymbol /Derived.Derived
context -> FirValueParameterSymbol <local>/c from FirConstructorSymbol /Derived.Derived
context -> FirPropertySymbol /Derived.c
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /Derived.c
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /Derived.c
context -> FirNamedFunctionSymbol /Derived.component2
context -> FirValueParameterSymbol <local>/c from FirNamedFunctionSymbol /Derived.copy
@Anno(<strcat>(String(nested Derived c parameter type ), x#))
owner -> FirConstructorSymbol /Derived.Derived
context -> FirValueParameterSymbol <local>/c from FirConstructorSymbol /Derived.Derived
context -> FirPropertySymbol /Derived.c
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /Derived.c
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /Derived.c
context -> FirNamedFunctionSymbol /Derived.component2
context -> FirValueParameterSymbol <local>/c from FirNamedFunctionSymbol /Derived.copy
@Anno(<strcat>(String(Derived c parameter type ), x#))
owner -> FirConstructorSymbol /Derived.Derived
context -> FirValueParameterSymbol <local>/c from FirConstructorSymbol /Derived.Derived
context -> FirPropertySymbol /Derived.c
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /Derived.c
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /Derived.c
context -> FirNamedFunctionSymbol /Derived.component2
context -> FirValueParameterSymbol <local>/c from FirNamedFunctionSymbol /Derived.copy
@Anno(<strcat>(String(Derived constructor ), x#))
owner -> FirConstructorSymbol /Derived.Derived
context -> FirConstructorSymbol /Derived.Derived
@Anno(<strcat>(String(nested nested super type call ), x#))
owner -> FirRegularClassSymbol Derived
context -> FirConstructorSymbol /Derived.Derived
context -> FirConstructorSymbol /Derived.Derived
context -> FirRegularClassSymbol Derived
@Anno(<strcat>(String(nested super type call ), x#))
owner -> FirRegularClassSymbol Derived
context -> FirConstructorSymbol /Derived.Derived
context -> FirConstructorSymbol /Derived.Derived
context -> FirRegularClassSymbol Derived
@Anno(<strcat>(String(Base super type call ), x#))
owner -> FirRegularClassSymbol Derived
context -> FirConstructorSymbol /Derived.Derived
context -> FirConstructorSymbol /Derived.Derived
context -> FirRegularClassSymbol Derived
@PROPERTY_GETTER:Anno(<strcat>(String(get: b ), x#))
owner -> FirPropertySymbol /Derived.b
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /Derived.b
@Anno(<strcat>(String(b ), x#))
owner -> FirPropertySymbol /Derived.b
context -> FirPropertySymbol /Derived.b
@PROPERTY:Anno(<strcat>(String(property: b ), x#))
owner -> FirPropertySymbol /Derived.b
context -> FirPropertySymbol /Derived.b
@Anno(<strcat>(String(b ), x#))
owner -> FirRegularClassSymbol Derived
context -> FirValueParameterSymbol <local>/b from FirNamedFunctionSymbol /Derived.copy
@Anno(<strcat>(String(param: b ), x#))
owner -> FirRegularClassSymbol Derived
context -> FirValueParameterSymbol <local>/b from FirNamedFunctionSymbol /Derived.copy
@Anno(<strcat>(String(Derived ), x#))
owner -> FirRegularClassSymbol Derived
context -> FirRegularClassSymbol Derived
@@ -0,0 +1,48 @@
@Target(AnnotationTarget#.TYPE#)
owner -> FirRegularClassSymbol second/Anno
context -> FirRegularClassSymbol second/Anno
@Anno(IntegerLiteral(2).plus#(outer#))
owner -> FirRegularClassSymbol second/MyClass
context -> FirFieldSymbol second/MyClass.$$delegate_0
context -> FirRegularClassSymbol second/MyClass
@Anno(IntegerLiteral(1).plus#(outer#))
owner -> FirRegularClassSymbol second/MyClass
context -> FirFieldSymbol second/MyClass.$$delegate_0
context -> FirRegularClassSymbol second/MyClass
@Anno(IntegerLiteral(0).plus#(outer#))
owner -> FirRegularClassSymbol second/MyClass
context -> FirFieldSymbol second/MyClass.$$delegate_0
context -> FirRegularClassSymbol second/MyClass
@Anno(IntegerLiteral(5).plus#(outer#))
owner -> FirRegularClassSymbol second/MyClass
context -> FirFieldSymbol second/MyClass.$$delegate_1
context -> FirRegularClassSymbol second/MyClass
@Anno(IntegerLiteral(4).plus#(outer#))
owner -> FirRegularClassSymbol second/MyClass
context -> FirFieldSymbol second/MyClass.$$delegate_1
context -> FirRegularClassSymbol second/MyClass
@Anno(IntegerLiteral(8).plus#(inner#))
owner -> FirRegularClassSymbol second/MyClass.Companion
context -> FirRegularClassSymbol second/MyClass.Companion
@Anno(IntegerLiteral(7).plus#(inner#))
owner -> FirRegularClassSymbol second/MyClass.Companion
context -> FirRegularClassSymbol second/MyClass.Companion
@Anno(IntegerLiteral(6).plus#(inner#))
owner -> FirRegularClassSymbol second/MyClass.Companion
context -> FirRegularClassSymbol second/MyClass.Companion
@Anno(IntegerLiteral(10).plus#(inner#))
owner -> FirRegularClassSymbol second/MyClass.NestedObject
context -> FirRegularClassSymbol second/MyClass.NestedObject
@Anno(IntegerLiteral(9).plus#(inner#))
owner -> FirRegularClassSymbol second/MyClass.NestedObject
context -> FirRegularClassSymbol second/MyClass.NestedObject
@@ -0,0 +1,67 @@
@Anno(<strcat>(String(x annotation ), x#))
owner -> FirPropertySymbol /x
context -> FirPropertySymbol /x
@Anno(<strcat>(String(ReadWriteProperty first type argument ), x#))
owner -> FirPropertySymbol /delegate
context -> FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /delegate
@Anno(<strcat>(String(ReadWriteProperty second type argument ), x#))
owner -> FirPropertySymbol /delegate
context -> FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /delegate
@Anno(<strcat>(String(getValue return type ), x#))
owner -> FirNamedFunctionSymbol /<anonymous>.getValue
context -> FirNamedFunctionSymbol /<anonymous>.getValue from FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /delegate
@Anno(<strcat>(String(getValue ), x#))
owner -> FirNamedFunctionSymbol /<anonymous>.getValue
context -> FirNamedFunctionSymbol /<anonymous>.getValue from FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /delegate
@Anno(<strcat>(String(setValue value parameter type ), x#))
owner -> FirNamedFunctionSymbol /<anonymous>.setValue
context -> FirValueParameterSymbol <local>/value from FirNamedFunctionSymbol /<anonymous>.setValue from FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /delegate
@Anno(<strcat>(String(setValue ), x#))
owner -> FirNamedFunctionSymbol /<anonymous>.setValue
context -> FirNamedFunctionSymbol /<anonymous>.setValue from FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /delegate
@PROPERTY_DELEGATE_FIELD:Anno(<strcat>(String(delegate: delegate annotation ), x#))
owner -> FirPropertySymbol /delegate
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /delegate
@Anno(<strcat>(String(delegate annotation ), x#))
owner -> FirPropertySymbol /delegate
context -> FirPropertySymbol /delegate
@PROPERTY_GETTER:Anno(<strcat>(String(get: value annotation ), x#))
owner -> FirPropertySymbol /value
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /value
@PROPERTY_DELEGATE_FIELD:Anno(<strcat>(String(delegate: value annotation ), x#))
owner -> FirPropertySymbol /value
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /value
@Anno(<strcat>(String(value annotation ), x#))
owner -> FirPropertySymbol /value
context -> FirPropertySymbol /value
@PROPERTY_GETTER:Anno(<strcat>(String(get: value annotation ), x#))
owner -> FirPropertySymbol /variable
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /variable
@SETTER_PARAMETER:Anno(<strcat>(String(setparam: value annotation ), x#))
owner -> FirPropertySymbol /variable
context -> FirValueParameterSymbol <local>/variable from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /variable
@PROPERTY_SETTER:Anno(<strcat>(String(set: value annotation ), x#))
owner -> FirPropertySymbol /variable
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol /variable
@PROPERTY_DELEGATE_FIELD:Anno(<strcat>(String(delegate: value annotation ), x#))
owner -> FirPropertySymbol /variable
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /variable
@Anno(<strcat>(String(variable annotation ), x#))
owner -> FirPropertySymbol /variable
context -> FirPropertySymbol /variable
@@ -0,0 +1,31 @@
@Anno(String(init annotations))
owner -> FirAnonymousInitializerSymbol <init>
context -> FirAnonymousInitializerSymbol <init> from FirAnonymousObjectSymbol <anonymous> from FirEnumEntrySymbol /MyEnumClass.ENUM_ENTRY
@Expression(String(expression annotation))
owner -> FirAnonymousInitializerSymbol <init>
context -> FirAnonymousInitializerSymbol <init> from FirAnonymousObjectSymbol <anonymous> from FirEnumEntrySymbol /MyEnumClass.ENUM_ENTRY
@Anno(String(nested return type))
owner -> FirNamedFunctionSymbol /<anonymous>.foo
context -> FirNamedFunctionSymbol /<anonymous>.foo from FirAnonymousObjectSymbol <anonymous> from FirEnumEntrySymbol /MyEnumClass.ENUM_ENTRY
@Anno(String(return type))
owner -> FirNamedFunctionSymbol /<anonymous>.foo
context -> FirNamedFunctionSymbol /<anonymous>.foo from FirAnonymousObjectSymbol <anonymous> from FirEnumEntrySymbol /MyEnumClass.ENUM_ENTRY
@FunAnno(String(fun))
owner -> FirNamedFunctionSymbol /<anonymous>.foo
context -> FirNamedFunctionSymbol /<anonymous>.foo from FirAnonymousObjectSymbol <anonymous> from FirEnumEntrySymbol /MyEnumClass.ENUM_ENTRY
@Anno(String(implicit))
owner -> FirEnumEntrySymbol /MyEnumClass.ENUM_ENTRY
context -> FirEnumEntrySymbol /MyEnumClass.ENUM_ENTRY
@PROPERTY:Anno(String(explicit))
owner -> FirEnumEntrySymbol /MyEnumClass.ENUM_ENTRY
context -> FirEnumEntrySymbol /MyEnumClass.ENUM_ENTRY
@EnumAnnotation(String(enum))
owner -> FirRegularClassSymbol MyEnumClass
context -> FirRegularClassSymbol MyEnumClass
@@ -0,0 +1,15 @@
@FILE:FileAnnotation(String(file annotation))
owner -> FirFileSymbol fileAnnotations.kt
context -> FirFileSymbol fileAnnotations.kt
@FILE:Annotation1(String(foo))
owner -> FirFileSymbol fileAnnotations.kt
context -> FirFileSymbol fileAnnotations.kt
@FILE:Annotation2()
owner -> FirFileSymbol fileAnnotations.kt
context -> FirFileSymbol fileAnnotations.kt
@WithouTarget(String(argument))
owner -> FirFileSymbol fileAnnotations.kt
context -> FirFileSymbol fileAnnotations.kt
@@ -0,0 +1,15 @@
@FILE:FileAnnotation(String(file annotation))
owner -> FirFileSymbol fileAnnotationsWithoutPackage.kt
context -> FirFileSymbol fileAnnotationsWithoutPackage.kt
@FILE:Annotation1(String(foo))
owner -> FirFileSymbol fileAnnotationsWithoutPackage.kt
context -> FirFileSymbol fileAnnotationsWithoutPackage.kt
@FILE:Annotation2()
owner -> FirFileSymbol fileAnnotationsWithoutPackage.kt
context -> FirFileSymbol fileAnnotationsWithoutPackage.kt
@WithouTarget(String(argument))
owner -> FirDanglingModifierSymbol
context -> FirDanglingModifierSymbol from FirFileSymbol fileAnnotationsWithoutPackage.kt
@@ -0,0 +1,11 @@
@Anno(<strcat>(String(nested nested bar ), prop#))
owner -> FirNamedFunctionSymbol <local>/bar
context -> FirNamedFunctionSymbol <local>/bar from FirRegularClassSymbol <local>/LocalIntoLocal from FirAnonymousInitializerSymbol <init> from FirRegularClassSymbol util/A
@Anno(<strcat>(String(nested bar ), prop#))
owner -> FirNamedFunctionSymbol <local>/bar
context -> FirNamedFunctionSymbol <local>/bar from FirRegularClassSymbol <local>/LocalIntoLocal from FirAnonymousInitializerSymbol <init> from FirRegularClassSymbol util/A
@Anno(<strcat>(String(bar ), prop#))
owner -> FirNamedFunctionSymbol <local>/bar
context -> FirNamedFunctionSymbol <local>/bar from FirRegularClassSymbol <local>/LocalIntoLocal from FirAnonymousInitializerSymbol <init> from FirRegularClassSymbol util/A
@@ -0,0 +1,987 @@
@Anno2()
owner -> FirNamedFunctionSymbol /foo
context -> FirPropertySymbol <local>/a from FirNamedFunctionSymbol /foo
@Anno1()
owner -> FirNamedFunctionSymbol /foo
context -> FirPropertySymbol <local>/a from FirNamedFunctionSymbol /foo
@AnonymousFunction()
owner -> FirNamedFunctionSymbol /foo
context -> FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirNamedFunctionSymbol /foo
@AnonymousParameterType()
owner -> FirNamedFunctionSymbol /foo
context -> FirValueParameterSymbol <local>/a from FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirNamedFunctionSymbol /foo
@AnonymousParameter()
owner -> FirNamedFunctionSymbol /foo
context -> FirValueParameterSymbol <local>/a from FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol /foo
context -> FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol /foo
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol /foo
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol /foo
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol /foo
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol /foo
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol /foo
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol /foo
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol /foo
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol /foo
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol /foo
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol /foo
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol /foo
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
@NestedNestedSuperType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirFieldSymbol <local>/Local.$$delegate_0 from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirFieldSymbol <local>/Local.$$delegate_0 from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirFieldSymbol <local>/Local.$$delegate_0 from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirFieldSymbol <local>/Local.LocalNested.$$delegate_0 from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirFieldSymbol <local>/Local.LocalNested.$$delegate_0 from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirFieldSymbol <local>/Local.LocalNested.$$delegate_0 from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno2()
owner -> FirPropertySymbol <local>/a
context -> FirPropertySymbol <local>/a from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno1()
owner -> FirPropertySymbol <local>/a
context -> FirPropertySymbol <local>/a from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@AnonymousFunction()
owner -> FirPropertySymbol <local>/b
context -> FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@AnonymousParameterType()
owner -> FirPropertySymbol <local>/b
context -> FirValueParameterSymbol <local>/a from FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@AnonymousParameter()
owner -> FirPropertySymbol <local>/b
context -> FirValueParameterSymbol <local>/a from FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirPropertySymbol <local>/b
context -> FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/boo
context -> FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/boo
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/boo
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/boo
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/boo
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/boo
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/boo
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/boo
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/boo
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/boo
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/boo
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/boo
context -> FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local
context -> FirConstructorSymbol <local>/Local.LocalNested.Local.Local from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.LocalNested.Local.Local from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local
context -> FirConstructorSymbol <local>/Local.LocalNested.Local.Local from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.LocalNested.Local.Local from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local
context -> FirConstructorSymbol <local>/Local.LocalNested.Local.Local from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.LocalNested.Local.Local from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local
context -> FirFieldSymbol <local>/Local.LocalNested.Local.$$delegate_0 from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local
context -> FirFieldSymbol <local>/Local.LocalNested.Local.$$delegate_0 from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local
context -> FirFieldSymbol <local>/Local.LocalNested.Local.$$delegate_0 from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested
context -> FirConstructorSymbol <local>/Local.LocalNested.Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.LocalNested.Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested
context -> FirConstructorSymbol <local>/Local.LocalNested.Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.LocalNested.Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested
context -> FirConstructorSymbol <local>/Local.LocalNested.Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.LocalNested.Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested
context -> FirFieldSymbol <local>/Local.LocalNested.Local.LocalNested.$$delegate_0 from FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested
context -> FirFieldSymbol <local>/Local.LocalNested.Local.LocalNested.$$delegate_0 from FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested
context -> FirFieldSymbol <local>/Local.LocalNested.Local.LocalNested.$$delegate_0 from FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@FunType()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno2()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirPropertySymbol <local>/a from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno1()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirPropertySymbol <local>/a from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@AnonymousFunction()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@AnonymousParameterType()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirValueParameterSymbol <local>/a from FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@AnonymousParameter()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirValueParameterSymbol <local>/a from FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirFieldSymbol <local>/Local.$$delegate_0 from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirFieldSymbol <local>/Local.$$delegate_0 from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirFieldSymbol <local>/Local.$$delegate_0 from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirFieldSymbol <local>/Local.LocalNested.$$delegate_0 from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirFieldSymbol <local>/Local.LocalNested.$$delegate_0 from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirFieldSymbol <local>/Local.LocalNested.$$delegate_0 from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@FunType()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Fun()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@PropType()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirValueParameterSymbol <local>/value from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@PROPERTY_GETTER:Getter()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SETTER_PARAMETER:Parameter()
owner -> FirPropertySymbol <local>/localProperty
context -> FirValueParameterSymbol <local>/value from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@PROPERTY_SETTER:Setter()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Prop()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirRegularClassSymbol <local>/Local
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Fun()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@PropType()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirValueParameterSymbol <local>/value from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@PROPERTY_GETTER:Getter()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SETTER_PARAMETER:Parameter()
owner -> FirPropertySymbol <local>/localProperty
context -> FirValueParameterSymbol <local>/value from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@PROPERTY_SETTER:Setter()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Prop()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested.Local
context -> FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@FunType()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno2()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirPropertySymbol <local>/a from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno1()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirPropertySymbol <local>/a from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@AnonymousFunction()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@AnonymousParameterType()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirValueParameterSymbol <local>/a from FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@AnonymousParameter()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirValueParameterSymbol <local>/a from FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirFieldSymbol <local>/Local.$$delegate_0 from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirFieldSymbol <local>/Local.$$delegate_0 from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirFieldSymbol <local>/Local.$$delegate_0 from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirFieldSymbol <local>/Local.LocalNested.$$delegate_0 from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirFieldSymbol <local>/Local.LocalNested.$$delegate_0 from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirFieldSymbol <local>/Local.LocalNested.$$delegate_0 from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@FunType()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Fun()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@PropType()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno2()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertySymbol <local>/a from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno1()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertySymbol <local>/a from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@AnonymousFunction()
owner -> FirPropertySymbol <local>/localProperty
context -> FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@AnonymousParameterType()
owner -> FirPropertySymbol <local>/localProperty
context -> FirValueParameterSymbol <local>/a from FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@AnonymousParameter()
owner -> FirPropertySymbol <local>/localProperty
context -> FirValueParameterSymbol <local>/a from FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirPropertySymbol <local>/localProperty
context -> FirAnonymousFunctionSymbol special/anonymous from FirPropertySymbol <local>/b from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirPropertySymbol <local>/localProperty
context -> FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirPropertySymbol <local>/localProperty
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirPropertySymbol <local>/localProperty
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirPropertySymbol <local>/localProperty
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirPropertySymbol <local>/localProperty
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirPropertySymbol <local>/localProperty
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirPropertySymbol <local>/localProperty
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirPropertySymbol <local>/localProperty
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirPropertySymbol <local>/localProperty
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirPropertySymbol <local>/localProperty
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirPropertySymbol <local>/localProperty
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirPropertySymbol <local>/localProperty
context -> FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.Local from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirFieldSymbol <local>/Local.$$delegate_0 from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirFieldSymbol <local>/Local.$$delegate_0 from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirFieldSymbol <local>/Local.$$delegate_0 from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirConstructorSymbol <local>/Local.LocalNested.LocalNested from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirFieldSymbol <local>/Local.LocalNested.$$delegate_0 from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirFieldSymbol <local>/Local.LocalNested.$$delegate_0 from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperDelegateType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirFieldSymbol <local>/Local.LocalNested.$$delegate_0 from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local.LocalNested
context -> FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@FunType()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Fun()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@PropType()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirValueParameterSymbol <local>/value from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@PROPERTY_GETTER:Getter()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SETTER_PARAMETER:Parameter()
owner -> FirPropertySymbol <local>/localProperty
context -> FirValueParameterSymbol <local>/value from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@PROPERTY_SETTER:Setter()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Prop()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirRegularClassSymbol <local>/Local
context -> FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirRegularClassSymbol <local>/Local from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirRegularClassSymbol <local>/Local
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Fun()
owner -> FirNamedFunctionSymbol <local>/localMember
context -> FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@PropType()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirValueParameterSymbol <local>/value from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@PROPERTY_GETTER:Getter()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SETTER_PARAMETER:Parameter()
owner -> FirPropertySymbol <local>/localProperty
context -> FirValueParameterSymbol <local>/value from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@PROPERTY_SETTER:Setter()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Prop()
owner -> FirPropertySymbol <local>/localProperty
context -> FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@Anno()
owner -> FirRegularClassSymbol <local>/Local
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedNestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@NestedSuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@SuperInterfaceType()
owner -> FirRegularClassSymbol <local>/Local
context -> FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
@@ -0,0 +1,32 @@
@Anno(<getClass>(C#))
owner -> FirPropertySymbol <local>/foo
context -> FirPropertySymbol <local>/foo from FirRegularClassSymbol <local>/A.B from FirRegularClassSymbol <local>/A from FirNamedFunctionSymbol second/check
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/foo from FirRegularClassSymbol <local>/A.B from FirRegularClassSymbol <local>/A from FirNamedFunctionSymbol second/check
context -> FirValueParameterSymbol <local>/value from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/foo from FirRegularClassSymbol <local>/A.B from FirRegularClassSymbol <local>/A from FirNamedFunctionSymbol second/check
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol <local>/foo from FirRegularClassSymbol <local>/A.B from FirRegularClassSymbol <local>/A from FirNamedFunctionSymbol second/check
@Anno(<getClass>(C#))
owner -> FirPropertySymbol <local>/foo
context -> FirPropertySymbol <local>/foo from FirRegularClassSymbol <local>/A.B from FirRegularClassSymbol <local>/A from FirNamedFunctionSymbol second/check
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/foo from FirRegularClassSymbol <local>/A.B from FirRegularClassSymbol <local>/A from FirNamedFunctionSymbol second/check
context -> FirValueParameterSymbol <local>/value from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/foo from FirRegularClassSymbol <local>/A.B from FirRegularClassSymbol <local>/A from FirNamedFunctionSymbol second/check
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol <local>/foo from FirRegularClassSymbol <local>/A.B from FirRegularClassSymbol <local>/A from FirNamedFunctionSymbol second/check
@Anno(<getClass>(C#))
owner -> FirPropertySymbol <local>/foo
context -> FirPropertySymbol <local>/foo from FirRegularClassSymbol <local>/A.B from FirRegularClassSymbol <local>/A from FirNamedFunctionSymbol second/check
context -> FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/foo from FirRegularClassSymbol <local>/A.B from FirRegularClassSymbol <local>/A from FirNamedFunctionSymbol second/check
context -> FirValueParameterSymbol <local>/value from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/foo from FirRegularClassSymbol <local>/A.B from FirRegularClassSymbol <local>/A from FirNamedFunctionSymbol second/check
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol <local>/foo from FirRegularClassSymbol <local>/A.B from FirRegularClassSymbol <local>/A from FirNamedFunctionSymbol second/check
@Anno(<getClass>(C#))
owner -> FirNamedFunctionSymbol <local>/doo
context -> FirNamedFunctionSymbol <local>/doo from FirRegularClassSymbol <local>/A.B from FirRegularClassSymbol <local>/A from FirNamedFunctionSymbol second/check
@Anno(<getClass>(C#))
owner -> FirNamedFunctionSymbol <local>/doo
context -> FirNamedFunctionSymbol <local>/doo from FirRegularClassSymbol <local>/A.B from FirRegularClassSymbol <local>/A from FirNamedFunctionSymbol second/check
@Anno(<getClass>(C#))
owner -> FirNamedFunctionSymbol <local>/doo
context -> FirNamedFunctionSymbol <local>/doo from FirRegularClassSymbol <local>/A.B from FirRegularClassSymbol <local>/A from FirNamedFunctionSymbol second/check
@@ -0,0 +1,35 @@
@ForAnno(<strcat>(String(for anno ), prop#))
owner -> FirNamedFunctionSymbol util/foo
context -> FirNamedFunctionSymbol util/foo
@ForParameter(<strcat>(String(for ), prop#))
owner -> FirNamedFunctionSymbol util/foo
context -> FirPropertySymbol <local>/i from FirNamedFunctionSymbol util/foo
@ForParameter(<strcat>(String(second for ), prop#))
owner -> FirNamedFunctionSymbol util/foo
context -> FirPropertySymbol <local>/<destruct> from FirNamedFunctionSymbol util/foo
@NestedParam(<strcat>(String(destructuring in for ), prop#))
owner -> FirNamedFunctionSymbol util/foo
context -> FirPropertySymbol <local>/y from FirNamedFunctionSymbol util/foo
@LeftLambda(<strcat>(String(lambda a ), prop#))
owner -> FirNamedFunctionSymbol util/foo
context -> FirPropertySymbol <local>/a from FirAnonymousFunctionSymbol special/anonymous from FirNamedFunctionSymbol util/foo
@RightLambda(<strcat>(String(lambda b ), prop#))
owner -> FirNamedFunctionSymbol util/foo
context -> FirPropertySymbol <local>/b from FirAnonymousFunctionSymbol special/anonymous from FirNamedFunctionSymbol util/foo
@Destructuring(<strcat>(String(destr ), prop#))
owner -> FirNamedFunctionSymbol util/foo
context -> FirPropertySymbol <local>/<destruct> from FirNamedFunctionSymbol util/foo
@LeftDestructuring(<strcat>(String(a ), prop#))
owner -> FirNamedFunctionSymbol util/foo
context -> FirPropertySymbol <local>/a from FirNamedFunctionSymbol util/foo
@RightDestructuring(<strcat>(String(b ), prop#))
owner -> FirNamedFunctionSymbol util/foo
context -> FirPropertySymbol <local>/b from FirNamedFunctionSymbol util/foo
@@ -0,0 +1,23 @@
@DestrAnno(<strcat>(String(destr 1 ), prop#))
owner -> FirScriptSymbol util.<script-scriptLevelDestructuringWithAnnotation.kts>
context -> FirPropertySymbol <local>/<destruct> from FirScriptSymbol util.<script-scriptLevelDestructuringWithAnnotation.kts> from FirFileSymbol scriptLevelDestructuringWithAnnotation.kts
@LeftAnno(<strcat>(String(a ), prop#))
owner -> FirPropertySymbol <local>/a
context -> FirPropertySymbol <local>/a from FirScriptSymbol util.<script-scriptLevelDestructuringWithAnnotation.kts> from FirFileSymbol scriptLevelDestructuringWithAnnotation.kts
@RightAnno(<strcat>(String(b ), prop#))
owner -> FirPropertySymbol <local>/b
context -> FirPropertySymbol <local>/b from FirScriptSymbol util.<script-scriptLevelDestructuringWithAnnotation.kts> from FirFileSymbol scriptLevelDestructuringWithAnnotation.kts
@Destr2Anno(<strcat>(String(destr 1 ), prop#))
owner -> FirScriptSymbol util.<script-scriptLevelDestructuringWithAnnotation.kts>
context -> FirPropertySymbol <local>/<destruct> from FirScriptSymbol util.<script-scriptLevelDestructuringWithAnnotation.kts> from FirFileSymbol scriptLevelDestructuringWithAnnotation.kts
@SecondLeftAnno(<strcat>(String(c ), prop#))
owner -> FirPropertySymbol <local>/c
context -> FirPropertySymbol <local>/c from FirScriptSymbol util.<script-scriptLevelDestructuringWithAnnotation.kts> from FirFileSymbol scriptLevelDestructuringWithAnnotation.kts
@SecondRightAnno(<strcat>(String(d ), prop#))
owner -> FirPropertySymbol <local>/d
context -> FirPropertySymbol <local>/d from FirScriptSymbol util.<script-scriptLevelDestructuringWithAnnotation.kts> from FirFileSymbol scriptLevelDestructuringWithAnnotation.kts
@@ -0,0 +1,23 @@
@DestrAnno(<strcat>(String(destr 1 ), prop#))
owner -> FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotation.kts>
context -> FirPropertySymbol <local>/<destruct> from FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotation.kts> from FirFileSymbol scriptStatementLevelDestructuringWithAnnotation.kts
@LeftAnno(<strcat>(String(a ), prop#))
owner -> FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotation.kts>
context -> FirPropertySymbol <local>/a from FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotation.kts> from FirFileSymbol scriptStatementLevelDestructuringWithAnnotation.kts
@RightAnno(<strcat>(String(b ), prop#))
owner -> FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotation.kts>
context -> FirPropertySymbol <local>/b from FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotation.kts> from FirFileSymbol scriptStatementLevelDestructuringWithAnnotation.kts
@Destr2Anno(<strcat>(String(destr 1 ), prop#))
owner -> FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotation.kts>
context -> FirPropertySymbol <local>/<destruct> from FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotation.kts> from FirFileSymbol scriptStatementLevelDestructuringWithAnnotation.kts
@SecondLeftAnno(<strcat>(String(c ), prop#))
owner -> FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotation.kts>
context -> FirPropertySymbol <local>/c from FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotation.kts> from FirFileSymbol scriptStatementLevelDestructuringWithAnnotation.kts
@SecondRightAnno(<strcat>(String(d ), prop#))
owner -> FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotation.kts>
context -> FirPropertySymbol <local>/d from FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotation.kts> from FirFileSymbol scriptStatementLevelDestructuringWithAnnotation.kts
@@ -0,0 +1,23 @@
@DestrAnno(<strcat>(String(destr 1 ), prop#))
owner -> FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts>
context -> FirPropertySymbol <local>/<destruct> from FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts> from FirFileSymbol scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts
@LeftAnno(<strcat>(String(a ), prop#))
owner -> FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts>
context -> FirPropertySymbol <local>/a from FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts> from FirFileSymbol scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts
@RightAnno(<strcat>(String(b ), prop#))
owner -> FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts>
context -> FirPropertySymbol <local>/b from FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts> from FirFileSymbol scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts
@Destr2Anno(<strcat>(String(destr 1 ), prop#))
owner -> FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts>
context -> FirPropertySymbol <local>/<destruct> from FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts> from FirFileSymbol scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts
@SecondLeftAnno(<strcat>(String(c ), prop#))
owner -> FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts>
context -> FirPropertySymbol <local>/c from FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts> from FirFileSymbol scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts
@SecondRightAnno(<strcat>(String(d ), prop#))
owner -> FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts>
context -> FirPropertySymbol <local>/d from FirScriptSymbol util.<script-scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts> from FirFileSymbol scriptStatementLevelDestructuringWithAnnotationAsLastStatement.kts
@@ -0,0 +1,15 @@
@Target(AnnotationTarget#.TYPE#)
owner -> FirRegularClassSymbol util/Anno
context -> FirRegularClassSymbol util/Anno
@Anno(<strcat>(String(nested nested super type ref ), prop#))
owner -> FirRegularClassSymbol util/MyClass
context -> FirRegularClassSymbol util/MyClass
@Anno(<strcat>(String(nested super type ref ), prop#))
owner -> FirRegularClassSymbol util/MyClass
context -> FirRegularClassSymbol util/MyClass
@Anno(<strcat>(String(super type call ), prop#))
owner -> FirRegularClassSymbol util/MyClass
context -> FirRegularClassSymbol util/MyClass
@@ -0,0 +1,87 @@
@Target(AnnotationTarget#.TYPE#, AnnotationTarget#.TYPE_PARAMETER#)
owner -> FirRegularClassSymbol A
context -> FirRegularClassSymbol A
@Target(AnnotationTarget#.TYPE#, AnnotationTarget#.TYPE_PARAMETER#)
owner -> FirRegularClassSymbol B
context -> FirRegularClassSymbol B
@A()
owner -> FirTypeAliasSymbol Test0
context -> FirTypeAliasSymbol Test0
@B()
owner -> FirTypeAliasSymbol Test0
context -> FirTypeAliasSymbol Test0
@A()
owner -> FirTypeAliasSymbol Test1
context -> FirTypeAliasSymbol Test1
@A()
owner -> FirTypeAliasSymbol Test1
context -> FirTypeAliasSymbol Test1
@A()
owner -> FirTypeAliasSymbol Test2
context -> FirTypeAliasSymbol Test2
@B()
owner -> FirTypeAliasSymbol Test2
context -> FirTypeAliasSymbol Test2
@A()
owner -> FirTypeAliasSymbol Test3
context -> FirTypeAliasSymbol Test3
@A()
owner -> FirTypeAliasSymbol Test3
context -> FirTypeAliasSymbol Test3
@A()
owner -> FirTypeAliasSymbol Test4
context -> FirTypeAliasSymbol Test4
@B()
owner -> FirTypeAliasSymbol Test4
context -> FirTypeAliasSymbol Test4
@A()
owner -> FirTypeAliasSymbol Test5
context -> FirTypeAliasSymbol Test5
@B()
owner -> FirTypeAliasSymbol Test5
context -> FirTypeAliasSymbol Test5
@A()
owner -> FirTypeAliasSymbol Test6
context -> FirTypeAliasSymbol Test6
@B()
owner -> FirTypeAliasSymbol Test6
context -> FirTypeAliasSymbol Test6
@A()
owner -> FirTypeAliasSymbol Test7
context -> FirTypeAliasSymbol Test7
@B()
owner -> FirTypeAliasSymbol Test7
context -> FirTypeAliasSymbol Test7
@A()
owner -> FirTypeAliasSymbol Test8
context -> FirTypeAliasSymbol Test8
@B()
owner -> FirTypeAliasSymbol Test8
context -> FirTypeAliasSymbol Test8
@A()
owner -> FirTypeAliasSymbol Test9
context -> FirTypeAliasSymbol Test9
@B()
owner -> FirTypeAliasSymbol Test9
context -> FirTypeAliasSymbol Test9
@@ -0,0 +1,31 @@
@Target(AnnotationTarget#.EXPRESSION#, AnnotationTarget#.LOCAL_VARIABLE#)
owner -> FirRegularClassSymbol Ann
context -> FirRegularClassSymbol Ann
@Retention(AnnotationRetention#.SOURCE#)
owner -> FirRegularClassSymbol Ann
context -> FirRegularClassSymbol Ann
@Ann()
owner -> FirNamedFunctionSymbol /foo
context -> FirNamedFunctionSymbol /foo
@Ann()
owner -> FirNamedFunctionSymbol /foo
context -> FirNamedFunctionSymbol /foo
@Ann()
owner -> FirNamedFunctionSymbol /foo
context -> FirNamedFunctionSymbol /foo
@Ann()
owner -> FirNamedFunctionSymbol /foo
context -> FirNamedFunctionSymbol /foo
@Ann()
owner -> FirNamedFunctionSymbol /bar
context -> FirPropertySymbol <local>/x from FirNamedFunctionSymbol /bar
@Ann()
owner -> FirNamedFunctionSymbol /bar
context -> FirPropertySymbol <local>/y from FirNamedFunctionSymbol /bar
@@ -0,0 +1,23 @@
@Ann1(<implicitArrayOf>())
owner -> FirRegularClassSymbol Zero
context -> FirRegularClassSymbol Zero
@Ann2(<implicitArrayOf>())
owner -> FirRegularClassSymbol Zero
context -> FirRegularClassSymbol Zero
@Ann3(<implicitArrayOf>())
owner -> FirRegularClassSymbol Zero
context -> FirRegularClassSymbol Zero
@Ann1(<implicitArrayOf>(IntegerLiteral(1), IntegerLiteral(2)))
owner -> FirRegularClassSymbol First
context -> FirRegularClassSymbol First
@Ann2(<implicitArrayOf>(Double(3.14)))
owner -> FirRegularClassSymbol Second
context -> FirRegularClassSymbol Second
@Ann3(<implicitArrayOf>(String(Alpha), String(Omega)))
owner -> FirRegularClassSymbol Third
context -> FirRegularClassSymbol Third
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2023 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.
*/
@@ -14,7 +14,7 @@ abstract class AbstractRawFirBuilderLazyBodiesTestCase : AbstractRawFirBuilderTe
val file = createKtFile(filePath)
val firFile = file.toFirFile(BodyBuildingMode.LAZY_BODIES)
val firFileDump = FirRenderer().renderElementAsString(firFile)
val expectedPath = filePath.replace(".${myFileExt}", ".lazyBodies.txt")
val expectedPath = expectedPath(filePath, ".lazyBodies.txt")
KotlinTestUtils.assertEqualsToFile(File(expectedPath), firFileDump)
}
}
@@ -12,19 +12,23 @@ import com.intellij.psi.tree.IElementType
import com.intellij.util.PathUtil
import org.jetbrains.kotlin.KtNodeTypes
import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirElementWithResolveState
import org.jetbrains.kotlin.fir.FirFunctionTypeParameter
import org.jetbrains.kotlin.fir.contracts.FirContractDescription
import org.jetbrains.kotlin.fir.contracts.impl.FirEmptyContractDescription
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirFile
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
import org.jetbrains.kotlin.fir.declarations.utils.isNonLocal
import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.expressions.impl.FirContractCallBlock
import org.jetbrains.kotlin.fir.references.impl.FirStubReference
import org.jetbrains.kotlin.fir.render
import org.jetbrains.kotlin.fir.renderer.FirRenderer
import org.jetbrains.kotlin.fir.session.FirSessionFactoryHelper
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionWithoutNameSymbol
import org.jetbrains.kotlin.fir.types.FirTypeProjection
import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.fir.types.isExtensionFunctionAnnotationCall
@@ -38,6 +42,7 @@ import org.jetbrains.kotlin.psi.KtPsiFactory
import org.jetbrains.kotlin.test.KotlinTestUtils
import org.jetbrains.kotlin.test.testFramework.KtParsingTestCase
import org.jetbrains.kotlin.test.util.KtTestUtil
import org.jetbrains.kotlin.utils.addToStdlib.joinToWithBuffer
import java.io.File
import kotlin.reflect.full.memberProperties
import kotlin.reflect.jvm.isAccessible
@@ -65,10 +70,100 @@ abstract class AbstractRawFirBuilderTestCase : KtParsingTestCase(
val file = createKtFile(filePath)
val firFile = file.toFirFile(BodyBuildingMode.NORMAL)
val firFileDump = FirRenderer.withDeclarationAttributes().renderElementAsString(firFile)
val expectedPath = filePath.replace(".${myFileExt}", ".txt")
val expectedPath = expectedPath(filePath, ".txt")
KotlinTestUtils.assertEqualsToFile(File(expectedPath), firFileDump)
checkAnnotationOwners(filePath, firFile)
}
protected fun expectedPath(originalPath: String, newExtension: String): String {
return originalPath.replace(".${myFileExt}", newExtension)
}
protected fun checkAnnotationOwners(filePath: String, firFile: FirFile) {
val expectedPath = expectedPath(filePath, ".annotationOwners.txt")
val expectedFile = File(expectedPath)
val annotations = firFile.collectAnnotations()
if (annotations.isEmpty() && !expectedFile.exists()) {
return
}
val actual = annotations.groupBy(AnnotationWithContext::annotation)
.entries
.joinToString(separator = "\n\n") { (annotation, contexts) ->
buildString {
appendLine(annotation.render().trim())
append("owner -> ")
appendLine(annotation.containingDeclarationSymbol)
contexts.joinToWithBuffer(buffer = this, separator = "\n") {
append("context -> ")
append(it.context)
}
}
}
KotlinTestUtils.assertEqualsToFile(expectedFile, actual)
}
private fun FirElementWithResolveState.collectAnnotations(): Collection<AnnotationWithContext> {
val result = mutableListOf<AnnotationWithContext>()
val contextStack = ContextStack()
this.accept(object : FirVisitorVoid() {
override fun visitElement(element: FirElement) {
contextStack.withStack(element) {
if (element is FirAnnotationCall) {
result += AnnotationWithContext(element, contextStack.dumpContext())
}
element.acceptChildren(this)
}
}
})
return result
}
private class AnnotationWithContext(val annotation: FirAnnotationCall, val context: String)
private class ContextStack {
val stack = mutableListOf<FirDeclaration>()
inline fun withStack(element: FirElement, action: () -> Unit) {
if (element !is FirDeclaration) {
action()
return
}
stack += element
try {
action()
} finally {
val last = stack.removeLast()
if (last != element) {
error("Stack is corrupted")
}
}
}
fun dumpContext(): String {
val reversedStack = stack.asReversed().iterator()
return buildString {
var declaration = reversedStack.next()
append(declaration.symbol)
while (declaration.shouldAddParentContext() && reversedStack.hasNext()) {
declaration = reversedStack.next()
append(" from ")
append(declaration.symbol)
}
}
}
private fun FirDeclaration.shouldAddParentContext(): Boolean = symbol is FirFunctionWithoutNameSymbol || !isNonLocal
}
protected fun createKtFile(filePath: String): KtFile {
myFileExt = FileUtilRt.getExtension(PathUtil.getFileName(filePath))
return (createFile(filePath, KtNodeTypes.KT_FILE) as KtFile).apply {
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.fir.expressions.builder.*
import org.jetbrains.kotlin.fir.references.builder.buildImplicitThisReference
import org.jetbrains.kotlin.fir.references.builder.buildResolvedNamedReference
import org.jetbrains.kotlin.fir.references.builder.buildSimpleNamedReference
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
import org.jetbrains.kotlin.fir.symbols.impl.*
import org.jetbrains.kotlin.fir.types.*
import org.jetbrains.kotlin.fir.types.builder.buildErrorTypeRef
@@ -144,6 +145,31 @@ abstract class AbstractRawFirBuilder<T>(val baseSession: FirSession, val context
}
}
/**
* @param isLocal if true [symbol] will be ignored
*
* @see Context.containerSymbol
* @see Context.pushContainerSymbol
* @see Context.popContainerSymbol
*/
inline fun <T> withContainerSymbol(
symbol: FirBasedSymbol<*>,
isLocal: Boolean = false,
block: () -> T,
): T {
if (!isLocal) {
context.pushContainerSymbol(symbol)
}
return try {
block()
} finally {
if (!isLocal) {
context.popContainerSymbol(symbol)
}
}
}
protected open fun addCapturedTypeParameters(
status: Boolean,
declarationSource: KtSourceElement?,
@@ -11,13 +11,17 @@ import org.jetbrains.kotlin.fir.FirLoopTarget
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.declarations.builder.buildOuterClassTypeParameterRef
import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
import org.jetbrains.kotlin.fir.utils.exceptions.withFirSymbolEntry
import org.jetbrains.kotlin.name.CallableId
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.util.PrivateForInline
import org.jetbrains.kotlin.utils.exceptions.checkWithAttachment
import org.jetbrains.kotlin.utils.exceptions.requireWithAttachment
class Context<T> {
lateinit var packageFqName: FqName
@@ -78,6 +82,72 @@ class Context<T> {
}
}
/**
* This property will be stored in [_containerSymbolStack] instead the next symbol.
* If the stack is already not empty, symbols that are added on top won't be replaced.
* The forced symbol will come into effect the next time the stack is empty.
*
* @see containerSymbol
* @see pushContainerSymbol
* @see popContainerSymbol
*/
@set:PrivateForInline
var forcedContainerSymbol: FirBasedSymbol<*>? = null
set(value) {
requireWithAttachment(field == null, { "The value cannot be reassigned" }) {
value?.let { withFirSymbolEntry("newValue", it) }
field?.let { withFirSymbolEntry("oldValue", it) }
}
field = value
}
/**
* This stack is required to provide correct
* [FirAnnotationCall.containingDeclarationSymbol][org.jetbrains.kotlin.fir.expressions.FirAnnotationCall.containingDeclarationSymbol]
* during annotation call creation.
*
* @see pushContainerSymbol
* @see popContainerSymbol
*/
val containerSymbol: FirBasedSymbol<*> get() = _containerSymbolStack.last()
private val _containerSymbolStack: MutableList<FirBasedSymbol<*>> = mutableListOf<FirBasedSymbol<*>>()
/**
* Add [symbol] to the container symbols stack. Must be paired with [popContainerSymbol].
*
* @see containerSymbol
*/
fun pushContainerSymbol(symbol: FirBasedSymbol<*>) {
/**
* Replace [symbol] with [forcedContainerSymbol] if it is the first invocation of [pushContainerSymbol] in the stack
*/
val containerSymbol = forcedContainerSymbol?.takeIf { _containerSymbolStack.isEmpty() } ?: symbol
_containerSymbolStack += containerSymbol
}
/**
* Remove [symbol] from the container symbols stack. Must be called after corresponding [pushContainerSymbol].
*
* @see containerSymbol
*/
fun popContainerSymbol(symbol: FirBasedSymbol<*>) {
/**
* The counterpart of [pushContainerSymbol] logic
*/
val removed = _containerSymbolStack.removeLast()
val containerSymbol = forcedContainerSymbol?.takeIf { _containerSymbolStack.isEmpty() } ?: symbol
checkWithAttachment(removed === containerSymbol, { "Inconsistent declaration stack" }) {
withFirSymbolEntry("expected", containerSymbol)
withFirSymbolEntry("actual", removed)
if (symbol != containerSymbol) {
withFirSymbolEntry("replaced symbol", symbol)
}
withEntry("stack", _containerSymbolStack.asReversed().toString())
}
}
/**
* Gets the last label that was added or null if the current node does not have permission to use the label.
*/
@@ -14,6 +14,7 @@ import org.jetbrains.kotlin.fir.declarations.FirVariable
import org.jetbrains.kotlin.fir.declarations.builder.buildProperty
import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl
import org.jetbrains.kotlin.fir.expressions.FirStatement
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.name.Name
@@ -22,10 +23,10 @@ interface DestructuringContext<T> {
val T.returnTypeRef: FirTypeRef
val T.name: Name
val T.source: KtSourceElement
fun T.extractAnnotationsTo(target: FirAnnotationContainerBuilder)
fun T.extractAnnotationsTo(target: FirAnnotationContainerBuilder, containerSymbol: FirBasedSymbol<*>)
}
context(DestructuringContext<T>)
context(AbstractRawFirBuilder<*>, DestructuringContext<T>)
fun <T> MutableList<FirStatement>.addDestructuringStatements(
moduleData: FirModuleData,
container: FirVariable,
@@ -39,17 +40,19 @@ fun <T> MutableList<FirStatement>.addDestructuringStatements(
}
for ((index, entry) in entries.withIndex()) {
this += buildProperty {
this.moduleData = moduleData
origin = FirDeclarationOrigin.Source
returnTypeRef = entry.returnTypeRef
name = entry.name
initializer = container.toComponentCall(entry.source, index)
this.isVar = isVar
symbol = FirPropertySymbol(entry.name)
source = entry.source
isLocal = localEntries
status = FirDeclarationStatusImpl(if (localEntries) Visibilities.Local else Visibilities.Public, Modality.FINAL)
entry.extractAnnotationsTo(this)
withContainerSymbol(symbol, localEntries) {
this.moduleData = moduleData
origin = FirDeclarationOrigin.Source
returnTypeRef = entry.returnTypeRef
name = entry.name
initializer = container.toComponentCall(entry.source, index)
this.isVar = isVar
source = entry.source
isLocal = localEntries
status = FirDeclarationStatusImpl(if (localEntries) Visibilities.Local else Visibilities.Public, Modality.FINAL)
entry.extractAnnotationsTo(this, context.containerSymbol)
}
}
}
}
@@ -258,7 +258,7 @@ val ConeKotlinType.isAbstractOrSealedOrInterface: Boolean
context(FirExtension)
fun FirAnnotationContainer.excludeFromJsExport() {
fun FirDeclaration.excludeFromJsExport() {
if (!session.moduleData.platform.isJs()) {
return
}
@@ -275,6 +275,8 @@ fun FirAnnotationContainer.excludeFromJsExport() {
name = jsExportIgnoreAnnotation.name
resolvedSymbol = jsExportIgnoreConstructor
}
containingDeclarationSymbol = this@excludeFromJsExport.symbol
}
replaceAnnotations(annotations + jsExportIgnoreAnnotationCall)