[LL FIR] add test on lazy resolve for local declarations

^KT-56550
This commit is contained in:
Dmitrii Gridin
2023-04-26 20:07:22 +02:00
committed by Space Team
parent b35b727d73
commit 2cac7319fe
14 changed files with 1691 additions and 0 deletions
@@ -0,0 +1,9 @@
package one.two
annotation class AnotherAnnotation
annotation class KotlinAnnotation(val s: AnotherAnnotation)
fun resol<caret>veMe() {
@KotlinAnnotation(AnotherAnnotation())
class LocalClass
}
@@ -0,0 +1,319 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] annotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] annotation class AnotherAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherAnnotation] constructor(): R|one/two/AnotherAnnotation| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] annotation class KotlinAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/two/KotlinAnnotation.s] s: AnotherAnnotation): R|one/two/KotlinAnnotation| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: AnotherAnnotation = R|<local>/s|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] get(): AnotherAnnotation
}
public? final? [ResolvedTo(RAW_FIR)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] annotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] annotation class AnotherAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherAnnotation] constructor(): R|one/two/AnotherAnnotation| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] annotation class KotlinAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/two/KotlinAnnotation.s] s: AnotherAnnotation): R|one/two/KotlinAnnotation| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: AnotherAnnotation = R|<local>/s|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] get(): AnotherAnnotation
}
public? final? [ResolvedTo(RAW_FIR)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] annotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] annotation class AnotherAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherAnnotation] constructor(): R|one/two/AnotherAnnotation| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] annotation class KotlinAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/two/KotlinAnnotation.s] s: AnotherAnnotation): R|one/two/KotlinAnnotation| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: AnotherAnnotation = R|<local>/s|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] get(): AnotherAnnotation
}
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] annotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] annotation class AnotherAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherAnnotation] constructor(): R|one/two/AnotherAnnotation| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] annotation class KotlinAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/two/KotlinAnnotation.s] s: AnotherAnnotation): R|one/two/KotlinAnnotation| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: AnotherAnnotation = R|<local>/s|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] get(): AnotherAnnotation
}
public? final? [ResolvedTo(COMPANION_GENERATION)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] annotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] annotation class AnotherAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherAnnotation] constructor(): R|one/two/AnotherAnnotation| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] annotation class KotlinAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/two/KotlinAnnotation.s] s: AnotherAnnotation): R|one/two/KotlinAnnotation| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: AnotherAnnotation = R|<local>/s|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] get(): AnotherAnnotation
}
public? final? [ResolvedTo(SUPER_TYPES)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
TYPES:
FILE: [ResolvedTo(IMPORTS)] annotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] annotation class AnotherAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherAnnotation] constructor(): R|one/two/AnotherAnnotation| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] annotation class KotlinAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/two/KotlinAnnotation.s] s: AnotherAnnotation): R|one/two/KotlinAnnotation| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: AnotherAnnotation = R|<local>/s|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] get(): AnotherAnnotation
}
public? final? [ResolvedTo(TYPES)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
STATUS:
FILE: [ResolvedTo(IMPORTS)] annotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] annotation class AnotherAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherAnnotation] constructor(): R|one/two/AnotherAnnotation| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] annotation class KotlinAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/two/KotlinAnnotation.s] s: AnotherAnnotation): R|one/two/KotlinAnnotation| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: AnotherAnnotation = R|<local>/s|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] get(): AnotherAnnotation
}
public final [ResolvedTo(STATUS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] annotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] annotation class AnotherAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherAnnotation] constructor(): R|one/two/AnotherAnnotation| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] annotation class KotlinAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/two/KotlinAnnotation.s] s: AnotherAnnotation): R|one/two/KotlinAnnotation| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: AnotherAnnotation = R|<local>/s|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] get(): AnotherAnnotation
}
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] annotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] annotation class AnotherAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherAnnotation] constructor(): R|one/two/AnotherAnnotation| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] annotation class KotlinAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/two/KotlinAnnotation.s] s: AnotherAnnotation): R|one/two/KotlinAnnotation| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: AnotherAnnotation = R|<local>/s|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] get(): AnotherAnnotation
}
public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] annotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] annotation class AnotherAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherAnnotation] constructor(): R|one/two/AnotherAnnotation| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] annotation class KotlinAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/two/KotlinAnnotation.s] s: AnotherAnnotation): R|one/two/KotlinAnnotation| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: AnotherAnnotation = R|<local>/s|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] get(): AnotherAnnotation
}
public final [ResolvedTo(CONTRACTS)] fun resolveMe(): R|kotlin/Unit| {
@KotlinAnnotation[Unresolved](AnotherAnnotation#()) local final? [ResolvedTo(RAW_FIR)] class LocalClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=LocalClass] constructor(): R|one/two/LocalClass| {
super<R|kotlin/Any|>()
}
}
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] annotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] annotation class AnotherAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherAnnotation] constructor(): R|one/two/AnotherAnnotation| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] annotation class KotlinAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/two/KotlinAnnotation.s] s: AnotherAnnotation): R|one/two/KotlinAnnotation| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: AnotherAnnotation = R|<local>/s|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] get(): AnotherAnnotation
}
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
@KotlinAnnotation[Unresolved](AnotherAnnotation#()) local final? [ResolvedTo(RAW_FIR)] class LocalClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=LocalClass] constructor(): R|one/two/LocalClass| {
super<R|kotlin/Any|>()
}
}
}
ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] annotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] annotation class AnotherAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherAnnotation] constructor(): R|one/two/AnotherAnnotation| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] annotation class KotlinAnnotation : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=one/two/KotlinAnnotation.s] s: AnotherAnnotation): R|one/two/KotlinAnnotation| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val s: AnotherAnnotation = R|<local>/s|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=KotlinAnnotation] get(): AnotherAnnotation
}
public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] fun resolveMe(): R|kotlin/Unit| {
@KotlinAnnotation[Unresolved](AnotherAnnotation#()) local final? [ResolvedTo(RAW_FIR)] class LocalClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=LocalClass] constructor(): R|one/two/LocalClass| {
super<R|kotlin/Any|>()
}
}
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] annotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public final [ResolvedTo(STATUS)] annotation class AnotherAnnotation : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AnotherAnnotation] constructor(): R|one/two/AnotherAnnotation| {
LAZY_super<R|kotlin/Any|>
}
}
public final [ResolvedTo(STATUS)] annotation class KotlinAnnotation : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=KotlinAnnotation] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=one/two/KotlinAnnotation.s] s: R|one/two/AnotherAnnotation|): R|one/two/KotlinAnnotation| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val s: R|one/two/AnotherAnnotation| = R|<local>/s|
public [ResolvedTo(STATUS)] [ContainingClassKey=KotlinAnnotation] get(): R|one/two/AnotherAnnotation|
}
public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
@R|one/two/KotlinAnnotation|[Types](s = R|one/two/AnotherAnnotation.AnotherAnnotation|()) local final [ResolvedTo(BODY_RESOLVE)] class LocalClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=LocalClass] constructor(): R|one/two/LocalClass| {
super<R|kotlin/Any|>()
}
}
}
FILE RAW TO BODY:
FILE: [ResolvedTo(IMPORTS)] annotationOnLocalClass.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(BODY_RESOLVE)] annotation class AnotherAnnotation : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=AnotherAnnotation] constructor(): R|one/two/AnotherAnnotation| {
super<R|kotlin/Any|>()
}
}
public final [ResolvedTo(BODY_RESOLVE)] annotation class KotlinAnnotation : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=KotlinAnnotation] constructor([ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=one/two/KotlinAnnotation.s] s: R|one/two/AnotherAnnotation|): R|one/two/KotlinAnnotation| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] [IsFromPrimaryConstructor=true] val s: R|one/two/AnotherAnnotation| = R|<local>/s|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=KotlinAnnotation] get(): R|one/two/AnotherAnnotation|
}
public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
@R|one/two/KotlinAnnotation|[Types](s = R|one/two/AnotherAnnotation.AnotherAnnotation|()) local final [ResolvedTo(BODY_RESOLVE)] class LocalClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=LocalClass] constructor(): R|one/two/LocalClass| {
super<R|kotlin/Any|>()
}
}
}
@@ -0,0 +1,9 @@
package one.two
fun reso<caret>lveMe() {
@Deprecated(message = "", replaceWith = ReplaceWith(expression = "abc"), level = DeprecationLevel.ERROR)
class LocalClass
@Target(AnnotationTarget.TYPE)
class B
}
@@ -0,0 +1,144 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] compilerRequiredAnnotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] compilerRequiredAnnotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] compilerRequiredAnnotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] compilerRequiredAnnotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(COMPANION_GENERATION)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] compilerRequiredAnnotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(SUPER_TYPES)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
TYPES:
FILE: [ResolvedTo(IMPORTS)] compilerRequiredAnnotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(TYPES)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
STATUS:
FILE: [ResolvedTo(IMPORTS)] compilerRequiredAnnotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public final [ResolvedTo(STATUS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] compilerRequiredAnnotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] compilerRequiredAnnotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] compilerRequiredAnnotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public final [ResolvedTo(CONTRACTS)] fun resolveMe(): R|kotlin/Unit| {
@Deprecated[Unresolved](message = String(), replaceWith = ReplaceWith#(expression = String(abc)), level = DeprecationLevel#.ERROR#) local final? [ResolvedTo(RAW_FIR)] class LocalClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=LocalClass] constructor(): R|one/two/LocalClass| {
super<R|kotlin/Any|>()
}
}
@Target[Unresolved](AnnotationTarget#.TYPE#) local final? [ResolvedTo(RAW_FIR)] class B : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|one/two/B| {
super<R|kotlin/Any|>()
}
}
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] compilerRequiredAnnotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
@Deprecated[Unresolved](message = String(), replaceWith = ReplaceWith#(expression = String(abc)), level = DeprecationLevel#.ERROR#) local final? [ResolvedTo(RAW_FIR)] class LocalClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=LocalClass] constructor(): R|one/two/LocalClass| {
super<R|kotlin/Any|>()
}
}
@Target[Unresolved](AnnotationTarget#.TYPE#) local final? [ResolvedTo(RAW_FIR)] class B : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|one/two/B| {
super<R|kotlin/Any|>()
}
}
}
ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] compilerRequiredAnnotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] fun resolveMe(): R|kotlin/Unit| {
@Deprecated[Unresolved](message = String(), replaceWith = ReplaceWith#(expression = String(abc)), level = DeprecationLevel#.ERROR#) local final? [ResolvedTo(RAW_FIR)] class LocalClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=LocalClass] constructor(): R|one/two/LocalClass| {
super<R|kotlin/Any|>()
}
}
@Target[Unresolved](AnnotationTarget#.TYPE#) local final? [ResolvedTo(RAW_FIR)] class B : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|one/two/B| {
super<R|kotlin/Any|>()
}
}
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] compilerRequiredAnnotationOnLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
@R|kotlin/Deprecated|[Types](message = String(), replaceWith = R|kotlin/ReplaceWith.ReplaceWith|(expression = String(abc)), level = Q|kotlin/DeprecationLevel|.R|kotlin/DeprecationLevel.ERROR|) local final [ResolvedTo(BODY_RESOLVE)] class LocalClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=LocalClass] constructor(): R|one/two/LocalClass| {
super<R|kotlin/Any|>()
}
}
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|)) local final [ResolvedTo(BODY_RESOLVE)] class B : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] constructor(): R|one/two/B| {
super<R|kotlin/Any|>()
}
}
}
FILE RAW TO BODY:
FILE: [ResolvedTo(IMPORTS)] compilerRequiredAnnotationOnLocalClass.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
@R|kotlin/Deprecated|[Types](message = String(), replaceWith = R|kotlin/ReplaceWith.ReplaceWith|(expression = String(abc)), level = Q|kotlin/DeprecationLevel|.R|kotlin/DeprecationLevel.ERROR|) local final [ResolvedTo(BODY_RESOLVE)] class LocalClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=LocalClass] constructor(): R|one/two/LocalClass| {
super<R|kotlin/Any|>()
}
}
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|)) local final [ResolvedTo(BODY_RESOLVE)] class B : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] constructor(): R|one/two/B| {
super<R|kotlin/Any|>()
}
}
}
@@ -0,0 +1,12 @@
package one
interface NonLocalInterface
fun resolv<caret>eMe() {
open class A : B()
class B : NonLocalInterface {
inner class C : A() {
}
}
}
@@ -0,0 +1,207 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] complexLocalHierarchy.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] interface NonLocalInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] complexLocalHierarchy.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] interface NonLocalInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] complexLocalHierarchy.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] interface NonLocalInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] complexLocalHierarchy.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] interface NonLocalInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(COMPANION_GENERATION)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] complexLocalHierarchy.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] interface NonLocalInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(SUPER_TYPES)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
TYPES:
FILE: [ResolvedTo(IMPORTS)] complexLocalHierarchy.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] interface NonLocalInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(TYPES)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
STATUS:
FILE: [ResolvedTo(IMPORTS)] complexLocalHierarchy.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] interface NonLocalInterface : R|kotlin/Any| {
}
public final [ResolvedTo(STATUS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] complexLocalHierarchy.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] interface NonLocalInterface : R|kotlin/Any| {
}
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] complexLocalHierarchy.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] interface NonLocalInterface : R|kotlin/Any| {
}
public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] complexLocalHierarchy.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] interface NonLocalInterface : R|kotlin/Any| {
}
public final [ResolvedTo(CONTRACTS)] fun resolveMe(): R|kotlin/Unit| {
local open [ResolvedTo(RAW_FIR)] class A : B {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|one/A| {
super<B>()
}
}
local final? [ResolvedTo(RAW_FIR)] class B : NonLocalInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|one/B| {
super<<implicit>>()
}
local final? inner [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] class C : A {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] one/B.constructor(): R|one/B.C| {
super<A>()
}
}
}
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] complexLocalHierarchy.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] interface NonLocalInterface : R|kotlin/Any| {
}
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
local open [ResolvedTo(RAW_FIR)] class A : B {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|one/A| {
super<B>()
}
}
local final? [ResolvedTo(RAW_FIR)] class B : NonLocalInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|one/B| {
super<<implicit>>()
}
local final? inner [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] class C : A {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] one/B.constructor(): R|one/B.C| {
super<A>()
}
}
}
}
ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] complexLocalHierarchy.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] interface NonLocalInterface : R|kotlin/Any| {
}
public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] fun resolveMe(): R|kotlin/Unit| {
local open [ResolvedTo(RAW_FIR)] class A : B {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|one/A| {
super<B>()
}
}
local final? [ResolvedTo(RAW_FIR)] class B : NonLocalInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|one/B| {
super<<implicit>>()
}
local final? inner [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] class C : A {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] one/B.constructor(): R|one/B.C| {
super<A>()
}
}
}
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] complexLocalHierarchy.kt
[ResolvedTo(RAW_FIR)] annotations container
public abstract [ResolvedTo(STATUS)] interface NonLocalInterface : R|kotlin/Any| {
}
public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
local open [ResolvedTo(BODY_RESOLVE)] class A : <ERROR TYPE REF: Symbol not found for B> {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|one/A| {
super<<ERROR TYPE REF: Symbol not found for B>>()
}
}
local final [ResolvedTo(BODY_RESOLVE)] class B : R|one/NonLocalInterface| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] constructor(): R|one/B| {
super<R|kotlin/Any|>()
}
local final inner [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] class C : R|one/A| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] one/B.constructor(): R|one/B.C| {
super<R|one/A|>()
}
}
}
}
FILE RAW TO BODY:
FILE: [ResolvedTo(IMPORTS)] complexLocalHierarchy.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(BODY_RESOLVE)] interface NonLocalInterface : R|kotlin/Any| {
}
public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
local open [ResolvedTo(BODY_RESOLVE)] class A : <ERROR TYPE REF: Symbol not found for B> {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|one/A| {
super<<ERROR TYPE REF: Symbol not found for B>>()
}
}
local final [ResolvedTo(BODY_RESOLVE)] class B : R|one/NonLocalInterface| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] constructor(): R|one/B| {
super<R|kotlin/Any|>()
}
local final inner [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] class C : R|one/A| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] one/B.constructor(): R|one/B.C| {
super<R|one/A|>()
}
}
}
}
@@ -0,0 +1,9 @@
package one.two
class UnusedClass
interface UsedInterface2
interface UsedInterface : UsedInterface2
fun reso<caret>lveMe() {
class Local : UsedInterface
}
@@ -0,0 +1,249 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] resolveSuperTypeFromLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface2 : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : UsedInterface2 {
}
public? final? [ResolvedTo(RAW_FIR)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] resolveSuperTypeFromLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface2 : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : UsedInterface2 {
}
public? final? [ResolvedTo(RAW_FIR)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] resolveSuperTypeFromLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface2 : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : UsedInterface2 {
}
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] resolveSuperTypeFromLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface2 : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : UsedInterface2 {
}
public? final? [ResolvedTo(COMPANION_GENERATION)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] resolveSuperTypeFromLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface2 : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : UsedInterface2 {
}
public? final? [ResolvedTo(SUPER_TYPES)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
TYPES:
FILE: [ResolvedTo(IMPORTS)] resolveSuperTypeFromLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface2 : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : UsedInterface2 {
}
public? final? [ResolvedTo(TYPES)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
STATUS:
FILE: [ResolvedTo(IMPORTS)] resolveSuperTypeFromLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface2 : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : UsedInterface2 {
}
public final [ResolvedTo(STATUS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] resolveSuperTypeFromLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface2 : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : UsedInterface2 {
}
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] resolveSuperTypeFromLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface2 : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : UsedInterface2 {
}
public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] resolveSuperTypeFromLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface2 : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : UsedInterface2 {
}
public final [ResolvedTo(CONTRACTS)] fun resolveMe(): R|kotlin/Unit| {
local final? [ResolvedTo(RAW_FIR)] class Local : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Local] constructor(): R|one/two/Local| {
super<<implicit>>()
}
}
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] resolveSuperTypeFromLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface2 : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : UsedInterface2 {
}
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
local final? [ResolvedTo(RAW_FIR)] class Local : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Local] constructor(): R|one/two/Local| {
super<<implicit>>()
}
}
}
ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] resolveSuperTypeFromLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface2 : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : UsedInterface2 {
}
public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] fun resolveMe(): R|kotlin/Unit| {
local final? [ResolvedTo(RAW_FIR)] class Local : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Local] constructor(): R|one/two/Local| {
super<<implicit>>()
}
}
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] resolveSuperTypeFromLocalClass.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public abstract [ResolvedTo(STATUS)] interface UsedInterface2 : R|kotlin/Any| {
}
public abstract [ResolvedTo(STATUS)] interface UsedInterface : R|one/two/UsedInterface2| {
}
public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
local final [ResolvedTo(BODY_RESOLVE)] class Local : R|one/two/UsedInterface| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Local] constructor(): R|one/two/Local| {
super<R|kotlin/Any|>()
}
}
}
FILE RAW TO BODY:
FILE: [ResolvedTo(IMPORTS)] resolveSuperTypeFromLocalClass.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(BODY_RESOLVE)] class UnusedClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
super<R|kotlin/Any|>()
}
}
public abstract [ResolvedTo(BODY_RESOLVE)] interface UsedInterface2 : R|kotlin/Any| {
}
public abstract [ResolvedTo(BODY_RESOLVE)] interface UsedInterface : R|one/two/UsedInterface2| {
}
public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
local final [ResolvedTo(BODY_RESOLVE)] class Local : R|one/two/UsedInterface| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Local] constructor(): R|one/two/Local| {
super<R|kotlin/Any|>()
}
}
}
@@ -0,0 +1,9 @@
package one.two
class UnusedClass
interface UsedInterface
class UsedClass : UsedInterface
fun reso<caret>lveMe() {
class Local(val u: UsedClass)
}
@@ -0,0 +1,320 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] resolveTypeFromLocalClassConstructor.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public? final? [ResolvedTo(RAW_FIR)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalClassConstructor.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public? final? [ResolvedTo(RAW_FIR)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalClassConstructor.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalClassConstructor.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public? final? [ResolvedTo(COMPANION_GENERATION)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalClassConstructor.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public? final? [ResolvedTo(SUPER_TYPES)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
TYPES:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalClassConstructor.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public? final? [ResolvedTo(TYPES)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
STATUS:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalClassConstructor.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public final [ResolvedTo(STATUS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalClassConstructor.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalClassConstructor.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalClassConstructor.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public final [ResolvedTo(CONTRACTS)] fun resolveMe(): R|kotlin/Unit| {
local final? [ResolvedTo(RAW_FIR)] class Local : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Local] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=<local>/u] u: UsedClass): R|one/two/Local| {
super<R|kotlin/Any|>()
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val u: UsedClass = R|<local>/u|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Local] get(): UsedClass
}
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalClassConstructor.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
local final? [ResolvedTo(RAW_FIR)] class Local : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Local] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=<local>/u] u: UsedClass): R|one/two/Local| {
super<R|kotlin/Any|>()
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val u: UsedClass = R|<local>/u|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Local] get(): UsedClass
}
}
ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalClassConstructor.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] fun resolveMe(): R|kotlin/Unit| {
local final? [ResolvedTo(RAW_FIR)] class Local : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Local] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=<local>/u] u: UsedClass): R|one/two/Local| {
super<R|kotlin/Any|>()
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val u: UsedClass = R|<local>/u|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Local] get(): UsedClass
}
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalClassConstructor.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
local final [ResolvedTo(BODY_RESOLVE)] class Local : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Local] constructor([ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=<local>/u] u: R|one/two/UsedClass|): R|one/two/Local| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] [IsFromPrimaryConstructor=true] val u: R|one/two/UsedClass| = R|<local>/u|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Local] get(): R|one/two/UsedClass|
}
}
FILE RAW TO BODY:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalClassConstructor.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(BODY_RESOLVE)] class UnusedClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
super<R|kotlin/Any|>()
}
}
public abstract [ResolvedTo(BODY_RESOLVE)] interface UsedInterface : R|kotlin/Any| {
}
public final [ResolvedTo(BODY_RESOLVE)] class UsedClass : R|one/two/UsedInterface| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
super<R|kotlin/Any|>()
}
}
public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
local final [ResolvedTo(BODY_RESOLVE)] class Local : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Local] constructor([ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=<local>/u] u: R|one/two/UsedClass|): R|one/two/Local| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] [IsFromPrimaryConstructor=true] val u: R|one/two/UsedClass| = R|<local>/u|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Local] get(): R|one/two/UsedClass|
}
}
@@ -0,0 +1,12 @@
package one.two
class UnusedClass
interface UsedInterface
class UsedClass : UsedInterface
fun reso<caret>lveMe() {
class Local
fun localFunction(usedClass: UsedClass, local: Local) {
}
}
@@ -0,0 +1,320 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] resolveTypeFromLocalFunction.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public? final? [ResolvedTo(RAW_FIR)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalFunction.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public? final? [ResolvedTo(RAW_FIR)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalFunction.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalFunction.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public? final? [ResolvedTo(COMPANION_GENERATION)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalFunction.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public? final? [ResolvedTo(SUPER_TYPES)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
TYPES:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalFunction.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public? final? [ResolvedTo(TYPES)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
STATUS:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalFunction.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public final [ResolvedTo(STATUS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalFunction.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalFunction.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK }
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalFunction.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public final [ResolvedTo(CONTRACTS)] fun resolveMe(): R|kotlin/Unit| {
local final? [ResolvedTo(RAW_FIR)] class Local : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Local] constructor(): R|one/two/Local| {
super<R|kotlin/Any|>()
}
}
local final? [ResolvedTo(RAW_FIR)] fun localFunction([ResolvedTo(RAW_FIR)] usedClass: UsedClass, [ResolvedTo(RAW_FIR)] local: Local): R|kotlin/Unit| {
}
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalFunction.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
local final? [ResolvedTo(RAW_FIR)] class Local : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Local] constructor(): R|one/two/Local| {
super<R|kotlin/Any|>()
}
}
local final? [ResolvedTo(RAW_FIR)] fun localFunction([ResolvedTo(RAW_FIR)] usedClass: UsedClass, [ResolvedTo(RAW_FIR)] local: Local): R|kotlin/Unit| {
}
}
ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalFunction.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] fun resolveMe(): R|kotlin/Unit| {
local final? [ResolvedTo(RAW_FIR)] class Local : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Local] constructor(): R|one/two/Local| {
super<R|kotlin/Any|>()
}
}
local final? [ResolvedTo(RAW_FIR)] fun localFunction([ResolvedTo(RAW_FIR)] usedClass: UsedClass, [ResolvedTo(RAW_FIR)] local: Local): R|kotlin/Unit| {
}
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalFunction.kt
[ResolvedTo(RAW_FIR)] annotations container
public? final? [ResolvedTo(RAW_FIR)] class UnusedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
LAZY_super<R|kotlin/Any|>
}
}
public? final? [ResolvedTo(RAW_FIR)] interface UsedInterface : R|kotlin/Any| {
}
public? final? [ResolvedTo(RAW_FIR)] class UsedClass : UsedInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
LAZY_super<<implicit>>
}
}
public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
local final [ResolvedTo(BODY_RESOLVE)] class Local : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Local] constructor(): R|one/two/Local| {
super<R|kotlin/Any|>()
}
}
local final [ResolvedTo(BODY_RESOLVE)] fun localFunction([ResolvedTo(BODY_RESOLVE)] usedClass: R|one/two/UsedClass|, [ResolvedTo(BODY_RESOLVE)] local: R|one/two/Local|): R|kotlin/Unit| {
}
}
FILE RAW TO BODY:
FILE: [ResolvedTo(IMPORTS)] resolveTypeFromLocalFunction.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(BODY_RESOLVE)] class UnusedClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=UnusedClass] constructor(): R|one/two/UnusedClass| {
super<R|kotlin/Any|>()
}
}
public abstract [ResolvedTo(BODY_RESOLVE)] interface UsedInterface : R|kotlin/Any| {
}
public final [ResolvedTo(BODY_RESOLVE)] class UsedClass : R|one/two/UsedInterface| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=UsedClass] constructor(): R|one/two/UsedClass| {
super<R|kotlin/Any|>()
}
}
public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| {
local final [ResolvedTo(BODY_RESOLVE)] class Local : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Local] constructor(): R|one/two/Local| {
super<R|kotlin/Any|>()
}
}
local final [ResolvedTo(BODY_RESOLVE)] fun localFunction([ResolvedTo(BODY_RESOLVE)] usedClass: R|one/two/UsedClass|, [ResolvedTo(BODY_RESOLVE)] local: R|one/two/Local|): R|kotlin/Unit| {
}
}
@@ -42,6 +42,12 @@ public class FirOutOfContentRootLazyDeclarationResolveTestGenerated extends Abst
runTest("analysis/low-level-api-fir/testdata/lazyResolve/annotationFromImplicitJavaTypeWithJavaAnnotation.kt");
}
@Test
@TestMetadata("annotationOnLocalClass.kt")
public void testAnnotationOnLocalClass() throws Exception {
runTest("analysis/low-level-api-fir/testdata/lazyResolve/annotationOnLocalClass.kt");
}
@Test
@TestMetadata("annotationParameters.kt")
public void testAnnotationParameters() throws Exception {
@@ -66,6 +72,18 @@ public class FirOutOfContentRootLazyDeclarationResolveTestGenerated extends Abst
runTest("analysis/low-level-api-fir/testdata/lazyResolve/classMembers.kt");
}
@Test
@TestMetadata("compilerRequiredAnnotationOnLocalClass.kt")
public void testCompilerRequiredAnnotationOnLocalClass() throws Exception {
runTest("analysis/low-level-api-fir/testdata/lazyResolve/compilerRequiredAnnotationOnLocalClass.kt");
}
@Test
@TestMetadata("complexLocalHierarchy.kt")
public void testComplexLocalHierarchy() throws Exception {
runTest("analysis/low-level-api-fir/testdata/lazyResolve/complexLocalHierarchy.kt");
}
@Test
@TestMetadata("delegates.kt")
public void testDelegates() throws Exception {
@@ -138,6 +156,24 @@ public class FirOutOfContentRootLazyDeclarationResolveTestGenerated extends Abst
runTest("analysis/low-level-api-fir/testdata/lazyResolve/propertyWithInitializer.kt");
}
@Test
@TestMetadata("resolveSuperTypeFromLocalClass.kt")
public void testResolveSuperTypeFromLocalClass() throws Exception {
runTest("analysis/low-level-api-fir/testdata/lazyResolve/resolveSuperTypeFromLocalClass.kt");
}
@Test
@TestMetadata("resolveTypeFromLocalClassConstructor.kt")
public void testResolveTypeFromLocalClassConstructor() throws Exception {
runTest("analysis/low-level-api-fir/testdata/lazyResolve/resolveTypeFromLocalClassConstructor.kt");
}
@Test
@TestMetadata("resolveTypeFromLocalFunction.kt")
public void testResolveTypeFromLocalFunction() throws Exception {
runTest("analysis/low-level-api-fir/testdata/lazyResolve/resolveTypeFromLocalFunction.kt");
}
@Test
@TestMetadata("secondaryConstructor.kt")
public void testSecondaryConstructor() throws Exception {
@@ -42,6 +42,12 @@ public class FirSourceLazyDeclarationResolveTestGenerated extends AbstractFirSou
runTest("analysis/low-level-api-fir/testdata/lazyResolve/annotationFromImplicitJavaTypeWithJavaAnnotation.kt");
}
@Test
@TestMetadata("annotationOnLocalClass.kt")
public void testAnnotationOnLocalClass() throws Exception {
runTest("analysis/low-level-api-fir/testdata/lazyResolve/annotationOnLocalClass.kt");
}
@Test
@TestMetadata("annotationParameters.kt")
public void testAnnotationParameters() throws Exception {
@@ -66,6 +72,18 @@ public class FirSourceLazyDeclarationResolveTestGenerated extends AbstractFirSou
runTest("analysis/low-level-api-fir/testdata/lazyResolve/classMembers.kt");
}
@Test
@TestMetadata("compilerRequiredAnnotationOnLocalClass.kt")
public void testCompilerRequiredAnnotationOnLocalClass() throws Exception {
runTest("analysis/low-level-api-fir/testdata/lazyResolve/compilerRequiredAnnotationOnLocalClass.kt");
}
@Test
@TestMetadata("complexLocalHierarchy.kt")
public void testComplexLocalHierarchy() throws Exception {
runTest("analysis/low-level-api-fir/testdata/lazyResolve/complexLocalHierarchy.kt");
}
@Test
@TestMetadata("delegates.kt")
public void testDelegates() throws Exception {
@@ -138,6 +156,24 @@ public class FirSourceLazyDeclarationResolveTestGenerated extends AbstractFirSou
runTest("analysis/low-level-api-fir/testdata/lazyResolve/propertyWithInitializer.kt");
}
@Test
@TestMetadata("resolveSuperTypeFromLocalClass.kt")
public void testResolveSuperTypeFromLocalClass() throws Exception {
runTest("analysis/low-level-api-fir/testdata/lazyResolve/resolveSuperTypeFromLocalClass.kt");
}
@Test
@TestMetadata("resolveTypeFromLocalClassConstructor.kt")
public void testResolveTypeFromLocalClassConstructor() throws Exception {
runTest("analysis/low-level-api-fir/testdata/lazyResolve/resolveTypeFromLocalClassConstructor.kt");
}
@Test
@TestMetadata("resolveTypeFromLocalFunction.kt")
public void testResolveTypeFromLocalFunction() throws Exception {
runTest("analysis/low-level-api-fir/testdata/lazyResolve/resolveTypeFromLocalFunction.kt");
}
@Test
@TestMetadata("secondaryConstructor.kt")
public void testSecondaryConstructor() throws Exception {