Files
kotlin-fork/analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverrideInDifferentModules.txt
T
Dmitrii Gridin 38c959ba5a [LL FIR] resolve original declarations before fake
This is required to have stable resolution order to avoid concurrent
modifications and correct resolution context.
E.g., this commit fixes the resolution behavior of fake override for
ANNOTATION_ARGUMENTS phase – now annotation argument resolves correctly.

We shouldn't do additional checks in the case of fake declaration
because they should be done on the original side

^KT-63042
2023-11-23 15:55:07 +00:00

147 lines
6.0 KiB
Plaintext
Vendored

STATUS:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] AbstractClass.kt
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
FILE: [ResolvedTo(IMPORTS)] SubClass.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
EXPECT_ACTUAL_MATCHING:
TARGET: public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] AbstractClass.kt
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] val property: R|T|
public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [ContainingClassKey=AbstractClass] get(): R|T|
}
FILE: [ResolvedTo(IMPORTS)] SubClass.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
CONTRACTS:
TARGET: public abstract [ResolvedTo(CONTRACTS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] AbstractClass.kt
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(CONTRACTS)] val property: R|T|
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
FILE: [ResolvedTo(IMPORTS)] SubClass.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
IMPLICIT_TYPES_BODY_RESOLVE:
TARGET: public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] AbstractClass.kt
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val property: R|T|
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=AbstractClass] get(): R|T|
}
FILE: [ResolvedTo(IMPORTS)] SubClass.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
ANNOTATION_ARGUMENTS:
TARGET: public abstract [ResolvedTo(ANNOTATION_ARGUMENTS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] AbstractClass.kt
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(ANNOTATION_ARGUMENTS)] val property: R|T|
public [ResolvedTo(ANNOTATION_ARGUMENTS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
FILE: [ResolvedTo(IMPORTS)] SubClass.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
BODY_RESOLVE:
TARGET: public abstract [ResolvedTo(BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] AbstractClass.kt
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(ANNOTATION_ARGUMENTS)] val property: R|T|
public [ResolvedTo(ANNOTATION_ARGUMENTS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
FILE: [ResolvedTo(IMPORTS)] SubClass.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] SubClass.kt
public abstract [ResolvedTo(BODY_RESOLVE)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
super<R|AbstractClass<kotlin/Int>|>()
}
}