diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.after.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.after.txt new file mode 100644 index 00000000000..a878697ef0b --- /dev/null +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.after.txt @@ -0,0 +1,131 @@ +@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? + context -> FirNamedFunctionSymbol /doo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> + context -> FirNamedFunctionSymbol /doo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /doo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? + context -> FirNamedFunctionSymbol /baz + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> + context -> FirNamedFunctionSymbol /baz + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /baz + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? + context -> FirNamedFunctionSymbol /bar + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> + context -> FirNamedFunctionSymbol /bar + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /bar + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? + context -> FirNamedFunctionSymbol /foo2 + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> + context -> FirNamedFunctionSymbol /foo2 + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /foo2 + anchor -> [FirNamedFunctionSymbol /bar] + +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { + public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=util/Anno.str] str: R|kotlin/String|): R|util/Anno| { + LAZY_super + } + + public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val str: R|kotlin/String| = R|/str| + public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + + } + public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val prop: R|kotlin/String| = String(str) + public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/String| + public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun bar(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^bar Null(null) + } + public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class A : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|util/A| { + super() + local final [ResolvedTo(BODY_RESOLVE)] class OuterIntoLocal : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=OuterIntoLocal] constructor(): R|/OuterIntoLocal| { + super() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun doo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^doo this@R|/OuterIntoLocal|.R|/foo|() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^foo R|util/bar|() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun baz(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^baz this@R|/OuterIntoLocal|.R|/foo|() + } + + } + + local final [ResolvedTo(BODY_RESOLVE)] class LocalIntoLocal : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=LocalIntoLocal] constructor(): R|/LocalIntoLocal| { + super() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^foo this@R|/LocalIntoLocal|.R|/bar|() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun bar(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^bar Null(null) + } + + public final [ResolvedTo(BODY_RESOLVE)] fun foo2(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^foo2 this@R|/LocalIntoLocal|.R|/bar|() + } + + } + + } + + } diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.before.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.before.txt new file mode 100644 index 00000000000..0bfc71e6cc9 --- /dev/null +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.before.txt @@ -0,0 +1,131 @@ +@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? + context -> FirNamedFunctionSymbol /doo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> + context -> FirNamedFunctionSymbol /doo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /doo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? + context -> FirNamedFunctionSymbol /baz + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> + context -> FirNamedFunctionSymbol /baz + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /baz + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? + context -> FirNamedFunctionSymbol /bar + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> + context -> FirNamedFunctionSymbol /bar + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /bar + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? + context -> FirNamedFunctionSymbol /foo2 + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> + context -> FirNamedFunctionSymbol /foo2 + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /foo2 + anchor -> [FirNamedFunctionSymbol /bar] + +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { + public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=util/Anno.str] str: R|kotlin/String|): R|util/Anno| { + LAZY_super + } + + public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val str: R|kotlin/String| = R|/str| + public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + + } + public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val prop: R|kotlin/String| = String(str) + public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/String| + public final [ResolvedTo(CONTRACTS)] fun bar(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^bar Null(null) + } + public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class A : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|util/A| { + super() + local final [ResolvedTo(BODY_RESOLVE)] class OuterIntoLocal : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=OuterIntoLocal] constructor(): R|/OuterIntoLocal| { + super() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun doo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^doo this@R|/OuterIntoLocal|.R|/foo|() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^foo R|util/bar|() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun baz(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^baz this@R|/OuterIntoLocal|.R|/foo|() + } + + } + + local final [ResolvedTo(BODY_RESOLVE)] class LocalIntoLocal : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=LocalIntoLocal] constructor(): R|/LocalIntoLocal| { + super() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^foo this@R|/LocalIntoLocal|.R|/bar|() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun bar(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^bar Null(null) + } + + public final [ResolvedTo(BODY_RESOLVE)] fun foo2(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^foo2 this@R|/LocalIntoLocal|.R|/bar|() + } + + } + + } + + } diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.kt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.kt new file mode 100644 index 00000000000..524f0ca45e0 --- /dev/null +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.kt @@ -0,0 +1,24 @@ +// BODY_RESOLVE +package util + +@Target(AnnotationTarget.TYPE) +annotation class Anno(val str: String) + +const val prop = "str" +fun bar(): @Anno("bar $prop") List<@Anno("nested bar $prop") Collection<@Anno("nested nested bar $prop") Int>>? = null + +class A { + constructor() { + class OuterIntoLocal { + fun doo() = foo() + fun foo() = bar() + fun baz() = foo() + } + + class LocalIntoLocal { + fun foo() = bar() + fun bar(): @Anno("bar $prop") List<@Anno("nested bar $prop") Collection<@Anno("nested nested bar $prop") Int>>? = null + fun foo2() = bar() + } + } +} diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.lazyResolve.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.lazyResolve.txt new file mode 100644 index 00000000000..f37b172c9cb --- /dev/null +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunction.lazyResolve.txt @@ -0,0 +1,450 @@ +RAW_FIR: +FILE: [ResolvedTo(RAW_FIR)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public? final? [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|util/A| { LAZY_BLOCK } + + } + +IMPORTS: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public? final? [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|util/A| { LAZY_BLOCK } + + } + +COMPILER_REQUIRED_ANNOTATIONS: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] class A : R|kotlin/Any| { + public? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] [ContainingClassKey=A] constructor(): R|util/A| { LAZY_BLOCK } + + } + +COMPANION_GENERATION: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public? final? [ResolvedTo(COMPANION_GENERATION)] class A : R|kotlin/Any| { + public? [ResolvedTo(COMPANION_GENERATION)] [ContainingClassKey=A] constructor(): R|util/A| { LAZY_BLOCK } + + } + +SUPER_TYPES: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public? final? [ResolvedTo(SUPER_TYPES)] class A : R|kotlin/Any| { + public? [ResolvedTo(SUPER_TYPES)] [ContainingClassKey=A] constructor(): R|util/A| { LAZY_BLOCK } + + } + +TYPES: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public? final? [ResolvedTo(TYPES)] class A : R|kotlin/Any| { + public? [ResolvedTo(TYPES)] [ContainingClassKey=A] constructor(): R|util/A| { LAZY_BLOCK } + + } + +STATUS: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| { + public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|util/A| { LAZY_BLOCK } + + } + +EXPECT_ACTUAL_MATCHING: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class A : R|kotlin/Any| { + public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [ContainingClassKey=A] constructor(): R|util/A| { LAZY_BLOCK } + + } + +CONTRACTS: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public final [ResolvedTo(CONTRACTS)] class A : R|kotlin/Any| { + public [ResolvedTo(CONTRACTS)] [ContainingClassKey=A] constructor(): R|util/A| { + super() + local final? [ResolvedTo(RAW_FIR)] class OuterIntoLocal : R|kotlin/Any| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterIntoLocal] constructor(): R|/OuterIntoLocal| { + super() + } + + public? final? [ResolvedTo(RAW_FIR)] fun doo(): { + ^doo foo#() + } + + public? final? [ResolvedTo(RAW_FIR)] fun foo(): { + ^foo bar#() + } + + public? final? [ResolvedTo(RAW_FIR)] fun baz(): { + ^baz foo#() + } + + } + + local final? [ResolvedTo(RAW_FIR)] class LocalIntoLocal : R|kotlin/Any| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=LocalIntoLocal] constructor(): R|/LocalIntoLocal| { + super() + } + + public? final? [ResolvedTo(RAW_FIR)] fun foo(): { + ^foo bar#() + } + + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved]((String(bar ), prop#)) List<@Anno[Unresolved]((String(nested bar ), prop#)) Collection<@Anno[Unresolved]((String(nested nested bar ), prop#)) Int>>? { + ^bar Null(null) + } + + public? final? [ResolvedTo(RAW_FIR)] fun foo2(): { + ^foo2 bar#() + } + + } + + } + + } + +IMPLICIT_TYPES_BODY_RESOLVE: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class A : R|kotlin/Any| { + public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|util/A| { + super() + local final? [ResolvedTo(RAW_FIR)] class OuterIntoLocal : R|kotlin/Any| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterIntoLocal] constructor(): R|/OuterIntoLocal| { + super() + } + + public? final? [ResolvedTo(RAW_FIR)] fun doo(): { + ^doo foo#() + } + + public? final? [ResolvedTo(RAW_FIR)] fun foo(): { + ^foo bar#() + } + + public? final? [ResolvedTo(RAW_FIR)] fun baz(): { + ^baz foo#() + } + + } + + local final? [ResolvedTo(RAW_FIR)] class LocalIntoLocal : R|kotlin/Any| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=LocalIntoLocal] constructor(): R|/LocalIntoLocal| { + super() + } + + public? final? [ResolvedTo(RAW_FIR)] fun foo(): { + ^foo bar#() + } + + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved]((String(bar ), prop#)) List<@Anno[Unresolved]((String(nested bar ), prop#)) Collection<@Anno[Unresolved]((String(nested nested bar ), prop#)) Int>>? { + ^bar Null(null) + } + + public? final? [ResolvedTo(RAW_FIR)] fun foo2(): { + ^foo2 bar#() + } + + } + + } + + } + +ANNOTATION_ARGUMENTS: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=util/Anno.str] str: String): R|util/Anno| { + LAZY_super + } + + public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val str: String = R|/str| + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String + + } + public? final? const [ResolvedTo(RAW_FIR)] val prop: = LAZY_EXPRESSION + public? [ResolvedTo(RAW_FIR)] get(): + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved](LAZY_EXPRESSION) List<@Anno[Unresolved](LAZY_EXPRESSION) Collection<@Anno[Unresolved](LAZY_EXPRESSION) Int>>? { LAZY_BLOCK } + public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class A : R|kotlin/Any| { + public [ResolvedTo(ANNOTATION_ARGUMENTS)] [ContainingClassKey=A] constructor(): R|util/A| { + super() + local final? [ResolvedTo(RAW_FIR)] class OuterIntoLocal : R|kotlin/Any| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterIntoLocal] constructor(): R|/OuterIntoLocal| { + super() + } + + public? final? [ResolvedTo(RAW_FIR)] fun doo(): { + ^doo foo#() + } + + public? final? [ResolvedTo(RAW_FIR)] fun foo(): { + ^foo bar#() + } + + public? final? [ResolvedTo(RAW_FIR)] fun baz(): { + ^baz foo#() + } + + } + + local final? [ResolvedTo(RAW_FIR)] class LocalIntoLocal : R|kotlin/Any| { + public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=LocalIntoLocal] constructor(): R|/LocalIntoLocal| { + super() + } + + public? final? [ResolvedTo(RAW_FIR)] fun foo(): { + ^foo bar#() + } + + public? final? [ResolvedTo(RAW_FIR)] fun bar(): @Anno[Unresolved]((String(bar ), prop#)) List<@Anno[Unresolved]((String(nested bar ), prop#)) Collection<@Anno[Unresolved]((String(nested nested bar ), prop#)) Int>>? { + ^bar Null(null) + } + + public? final? [ResolvedTo(RAW_FIR)] fun foo2(): { + ^foo2 bar#() + } + + } + + } + + } + +BODY_RESOLVE: +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunction.kt + @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { + public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=util/Anno.str] str: R|kotlin/String|): R|util/Anno| { + LAZY_super + } + + public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val str: R|kotlin/String| = R|/str| + public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String| + + } + public final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val prop: R|kotlin/String| = String(str) + public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/String| + public final [ResolvedTo(CONTRACTS)] fun bar(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^bar Null(null) + } + public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class A : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|util/A| { + super() + local final [ResolvedTo(BODY_RESOLVE)] class OuterIntoLocal : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=OuterIntoLocal] constructor(): R|/OuterIntoLocal| { + super() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun doo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^doo this@R|/OuterIntoLocal|.R|/foo|() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^foo R|util/bar|() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun baz(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^baz this@R|/OuterIntoLocal|.R|/foo|() + } + + } + + local final [ResolvedTo(BODY_RESOLVE)] class LocalIntoLocal : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=LocalIntoLocal] constructor(): R|/LocalIntoLocal| { + super() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^foo this@R|/LocalIntoLocal|.R|/bar|() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun bar(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^bar Null(null) + } + + public final [ResolvedTo(BODY_RESOLVE)] fun foo2(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^foo2 this@R|/LocalIntoLocal|.R|/bar|() + } + + } + + } + + } + +FILE RAW TO BODY: +FILE: [ResolvedTo(BODY_RESOLVE)] propagationToLocalMemberFunction.kt + @R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|)) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Anno] constructor([ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=util/Anno.str] str: R|kotlin/String|): R|util/Anno| { + super() + } + + public final [ResolvedTo(BODY_RESOLVE)] [IsFromPrimaryConstructor=true] val str: R|kotlin/String| = R|/str| + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Anno] get(): R|kotlin/String| + + } + public final const [ResolvedTo(BODY_RESOLVE)] val prop: R|kotlin/String| = String(str) + public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/String| + public final [ResolvedTo(BODY_RESOLVE)] fun bar(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^bar Null(null) + } + public final [ResolvedTo(BODY_RESOLVE)] class A : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|util/A| { + super() + local final [ResolvedTo(BODY_RESOLVE)] class OuterIntoLocal : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=OuterIntoLocal] constructor(): R|/OuterIntoLocal| { + super() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun doo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^doo this@R|/OuterIntoLocal|.R|/foo|() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^foo R|util/bar|() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun baz(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^baz this@R|/OuterIntoLocal|.R|/foo|() + } + + } + + local final [ResolvedTo(BODY_RESOLVE)] class LocalIntoLocal : R|kotlin/Any| { + public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=LocalIntoLocal] constructor(): R|/LocalIntoLocal| { + super() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^foo this@R|/LocalIntoLocal|.R|/bar|() + } + + public final [ResolvedTo(BODY_RESOLVE)] fun bar(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^bar Null(null) + } + + public final [ResolvedTo(BODY_RESOLVE)] fun foo2(): R|@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>?| { + ^foo2 this@R|/LocalIntoLocal|.R|/bar|() + } + + } + + } + + } diff --git a/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunctionScript.after.txt b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunctionScript.after.txt new file mode 100644 index 00000000000..3cb3721758d --- /dev/null +++ b/analysis/low-level-api-fir/testData/lazyResolveTypeAnnotations/constructor/propagationToLocalMemberFunctionScript.after.txt @@ -0,0 +1,138 @@ +@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? + context -> FirNamedFunctionSymbol /doo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> + context -> FirNamedFunctionSymbol /doo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /doo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? + context -> FirNamedFunctionSymbol /baz + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> + context -> FirNamedFunctionSymbol /baz + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /baz + anchor -> [FirNamedFunctionSymbol util/bar] + +@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /foo + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? + context -> FirNamedFunctionSymbol /bar + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> + context -> FirNamedFunctionSymbol /bar + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /bar + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(bar ), R|util/prop|)) kotlin/collections/List<@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int>>? + context -> FirNamedFunctionSymbol /foo2 + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested bar ), R|util/prop|)) kotlin/collections/Collection<@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int> + context -> FirNamedFunctionSymbol /foo2 + anchor -> [FirNamedFunctionSymbol /bar] + +@R|util/Anno|(str = (String(nested nested bar ), R|util/prop|)) kotlin/Int + context -> FirNamedFunctionSymbol /foo2 + anchor -> [FirNamedFunctionSymbol /bar] + +FILE: [ResolvedTo(IMPORTS)] propagationToLocalMemberFunctionScript.kts + context(