Files
kotlin-fork/analysis/low-level-api-fir/testdata/lazyResolve/complexLocalHierarchy.txt
T
Nikolay Lunyak f9c6af4d2a [FIR] Properly assign <local> packages to symbols
This prevents `FirConflictsExpressionChecker.kt`
from missing conflicting local functions. It used
to due to inconsistencies in assigning `<local>`,
and this commit makes it a bit more
straightforward.

The change in KtClassTypeQualifierRenderer
prevents `FirOverrideImplementTest.testLocalClass`
from failing in `intellij`. It didn't fail for
callables, because `KtCallableSignatureRenderer`
doesn't try to render packages.

^KT-59186 Fixed
2023-08-18 13:31:04 +00:00

194 lines
7.2 KiB
Plaintext

RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] complexLocalHierarchy.kt
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
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
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
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
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
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
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
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
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
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|<local>/A| {
super<B>()
}
}
local final? [ResolvedTo(RAW_FIR)] class B : NonLocalInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|<local>/B| {
super<<implicit>>()
}
local final? inner [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] class C : A {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] <local>/B.constructor(): R|<local>/B.C| {
super<A>()
}
}
}
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] complexLocalHierarchy.kt
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|<local>/A| {
super<B>()
}
}
local final? [ResolvedTo(RAW_FIR)] class B : NonLocalInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|<local>/B| {
super<<implicit>>()
}
local final? inner [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] class C : A {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] <local>/B.constructor(): R|<local>/B.C| {
super<A>()
}
}
}
}
ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] complexLocalHierarchy.kt
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|<local>/A| {
super<B>()
}
}
local final? [ResolvedTo(RAW_FIR)] class B : NonLocalInterface {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] constructor(): R|<local>/B| {
super<<implicit>>()
}
local final? inner [ResolvedTo(RAW_FIR)] [ContainingClassKey=B] class C : A {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] <local>/B.constructor(): R|<local>/B.C| {
super<A>()
}
}
}
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] complexLocalHierarchy.kt
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|<local>/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|<local>/B| {
super<R|kotlin/Any|>()
}
local final inner [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] class C : R|<local>/A| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] <local>/B.constructor(): R|<local>/B.C| {
super<R|<local>/A|>()
}
}
}
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] complexLocalHierarchy.kt
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|<local>/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|<local>/B| {
super<R|kotlin/Any|>()
}
local final inner [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=B] class C : R|<local>/A| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] <local>/B.constructor(): R|<local>/B.C| {
super<R|<local>/A|>()
}
}
}
}