[AA] Tests: Rewrite sealed class inheritors collection to use the declaration provider
- Now that binary libraries are decompiled to stubs instead of PSI files, we cannot collect sealed inheritors from `KtFile`s anymore. Since all `KtFile`s and binary library stubs are both indexed by the declaration provider, we can collect inheritors from its index instead. - Invalidating all sessions at the end of `prepareSealedClassInheritors` fixes some improper resolve phases in lazy resolution test data. While the previous implementation requested an uncached resolve session, it didn't account for sessions of dependencies still being cached. ^KT-65960
This commit is contained in:
committed by
Space Team
parent
47afd37596
commit
e62038f5f3
+22
-22
@@ -1,14 +1,14 @@
|
||||
RAW_FIR:
|
||||
FILE: [ResolvedTo(IMPORTS)] common.kt
|
||||
public open expect [ResolvedTo(SUPER_TYPES)] class Base<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
|
||||
public? expect [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(SUPER_TYPES)] T>(): R|Base<T>|
|
||||
FILE: [ResolvedTo(RAW_FIR)] common.kt
|
||||
public open expect [ResolvedTo(RAW_FIR)] class Base<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? expect [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(RAW_FIR)] T>(): R|Base<T>|
|
||||
|
||||
public? open expect [ResolvedTo(RAW_FIR)] fun existingMethodInBase([ResolvedTo(RAW_FIR)] param: T): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public open [ResolvedTo(SUPER_TYPES)] class Transitive : R|Base<kotlin/String>| {
|
||||
public open [ResolvedTo(RAW_FIR)] class Transitive : Base<String> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Transitive] constructor(): R|Transitive| {
|
||||
LAZY_super<Base<R|kotlin/String|>>
|
||||
LAZY_super<Base<String>>
|
||||
}
|
||||
|
||||
}
|
||||
@@ -44,16 +44,16 @@ FILE: [ResolvedTo(RAW_FIR)] jvm.kt
|
||||
}
|
||||
|
||||
IMPORTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] common.kt
|
||||
public open expect [ResolvedTo(SUPER_TYPES)] class Base<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
|
||||
public? expect [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(SUPER_TYPES)] T>(): R|Base<T>|
|
||||
FILE: [ResolvedTo(RAW_FIR)] common.kt
|
||||
public open expect [ResolvedTo(RAW_FIR)] class Base<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? expect [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(RAW_FIR)] T>(): R|Base<T>|
|
||||
|
||||
public? open expect [ResolvedTo(RAW_FIR)] fun existingMethodInBase([ResolvedTo(RAW_FIR)] param: T): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public open [ResolvedTo(SUPER_TYPES)] class Transitive : R|Base<kotlin/String>| {
|
||||
public open [ResolvedTo(RAW_FIR)] class Transitive : Base<String> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Transitive] constructor(): R|Transitive| {
|
||||
LAZY_super<Base<R|kotlin/String|>>
|
||||
LAZY_super<Base<String>>
|
||||
}
|
||||
|
||||
}
|
||||
@@ -89,16 +89,16 @@ FILE: [ResolvedTo(IMPORTS)] jvm.kt
|
||||
}
|
||||
|
||||
COMPILER_REQUIRED_ANNOTATIONS:
|
||||
FILE: [ResolvedTo(IMPORTS)] common.kt
|
||||
public open expect [ResolvedTo(SUPER_TYPES)] class Base<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
|
||||
public? expect [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(SUPER_TYPES)] T>(): R|Base<T>|
|
||||
FILE: [ResolvedTo(RAW_FIR)] common.kt
|
||||
public open expect [ResolvedTo(RAW_FIR)] class Base<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? expect [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(RAW_FIR)] T>(): R|Base<T>|
|
||||
|
||||
public? open expect [ResolvedTo(RAW_FIR)] fun existingMethodInBase([ResolvedTo(RAW_FIR)] param: T): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public open [ResolvedTo(SUPER_TYPES)] class Transitive : R|Base<kotlin/String>| {
|
||||
public open [ResolvedTo(RAW_FIR)] class Transitive : Base<String> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Transitive] constructor(): R|Transitive| {
|
||||
LAZY_super<Base<R|kotlin/String|>>
|
||||
LAZY_super<Base<String>>
|
||||
}
|
||||
|
||||
}
|
||||
@@ -134,16 +134,16 @@ FILE: [ResolvedTo(IMPORTS)] jvm.kt
|
||||
}
|
||||
|
||||
COMPANION_GENERATION:
|
||||
FILE: [ResolvedTo(IMPORTS)] common.kt
|
||||
public open expect [ResolvedTo(SUPER_TYPES)] class Base<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
|
||||
public? expect [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(SUPER_TYPES)] T>(): R|Base<T>|
|
||||
FILE: [ResolvedTo(RAW_FIR)] common.kt
|
||||
public open expect [ResolvedTo(RAW_FIR)] class Base<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? expect [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(RAW_FIR)] T>(): R|Base<T>|
|
||||
|
||||
public? open expect [ResolvedTo(RAW_FIR)] fun existingMethodInBase([ResolvedTo(RAW_FIR)] param: T): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public open [ResolvedTo(SUPER_TYPES)] class Transitive : R|Base<kotlin/String>| {
|
||||
public open [ResolvedTo(RAW_FIR)] class Transitive : Base<String> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Transitive] constructor(): R|Transitive| {
|
||||
LAZY_super<Base<R|kotlin/String|>>
|
||||
LAZY_super<Base<String>>
|
||||
}
|
||||
|
||||
}
|
||||
@@ -201,8 +201,8 @@ FILE: [ResolvedTo(IMPORTS)] common.kt
|
||||
}
|
||||
|
||||
FILE: [ResolvedTo(IMPORTS)] jvm.kt
|
||||
public open actual [ResolvedTo(RAW_FIR)] class Base<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(RAW_FIR)] T>(): R|Base<T>| {
|
||||
public open actual [ResolvedTo(SUPER_TYPES)] class Base<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(SUPER_TYPES)] T>(): R|Base<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
|
||||
Vendored
+22
-22
@@ -1,14 +1,14 @@
|
||||
RAW_FIR:
|
||||
FILE: [ResolvedTo(IMPORTS)] common.kt
|
||||
public open expect [ResolvedTo(SUPER_TYPES)] class Base<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
|
||||
public? expect [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(SUPER_TYPES)] T>(): R|Base<T>|
|
||||
FILE: [ResolvedTo(RAW_FIR)] common.kt
|
||||
public open expect [ResolvedTo(RAW_FIR)] class Base<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? expect [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(RAW_FIR)] T>(): R|Base<T>|
|
||||
|
||||
public? final? expect [ResolvedTo(RAW_FIR)] fun existingMethodInBase([ResolvedTo(RAW_FIR)] param: T): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public open [ResolvedTo(SUPER_TYPES)] class Transitive : R|Base<kotlin/String>| {
|
||||
public open [ResolvedTo(RAW_FIR)] class Transitive : Base<String> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Transitive] constructor(): R|Transitive| {
|
||||
LAZY_super<Base<R|kotlin/String|>>
|
||||
LAZY_super<Base<String>>
|
||||
}
|
||||
|
||||
}
|
||||
@@ -46,16 +46,16 @@ FILE: [ResolvedTo(RAW_FIR)] jvm.kt
|
||||
}
|
||||
|
||||
IMPORTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] common.kt
|
||||
public open expect [ResolvedTo(SUPER_TYPES)] class Base<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
|
||||
public? expect [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(SUPER_TYPES)] T>(): R|Base<T>|
|
||||
FILE: [ResolvedTo(RAW_FIR)] common.kt
|
||||
public open expect [ResolvedTo(RAW_FIR)] class Base<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? expect [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(RAW_FIR)] T>(): R|Base<T>|
|
||||
|
||||
public? final? expect [ResolvedTo(RAW_FIR)] fun existingMethodInBase([ResolvedTo(RAW_FIR)] param: T): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public open [ResolvedTo(SUPER_TYPES)] class Transitive : R|Base<kotlin/String>| {
|
||||
public open [ResolvedTo(RAW_FIR)] class Transitive : Base<String> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Transitive] constructor(): R|Transitive| {
|
||||
LAZY_super<Base<R|kotlin/String|>>
|
||||
LAZY_super<Base<String>>
|
||||
}
|
||||
|
||||
}
|
||||
@@ -93,16 +93,16 @@ FILE: [ResolvedTo(IMPORTS)] jvm.kt
|
||||
}
|
||||
|
||||
COMPILER_REQUIRED_ANNOTATIONS:
|
||||
FILE: [ResolvedTo(IMPORTS)] common.kt
|
||||
public open expect [ResolvedTo(SUPER_TYPES)] class Base<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
|
||||
public? expect [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(SUPER_TYPES)] T>(): R|Base<T>|
|
||||
FILE: [ResolvedTo(RAW_FIR)] common.kt
|
||||
public open expect [ResolvedTo(RAW_FIR)] class Base<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? expect [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(RAW_FIR)] T>(): R|Base<T>|
|
||||
|
||||
public? final? expect [ResolvedTo(RAW_FIR)] fun existingMethodInBase([ResolvedTo(RAW_FIR)] param: T): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public open [ResolvedTo(SUPER_TYPES)] class Transitive : R|Base<kotlin/String>| {
|
||||
public open [ResolvedTo(RAW_FIR)] class Transitive : Base<String> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Transitive] constructor(): R|Transitive| {
|
||||
LAZY_super<Base<R|kotlin/String|>>
|
||||
LAZY_super<Base<String>>
|
||||
}
|
||||
|
||||
}
|
||||
@@ -140,16 +140,16 @@ FILE: [ResolvedTo(IMPORTS)] jvm.kt
|
||||
}
|
||||
|
||||
COMPANION_GENERATION:
|
||||
FILE: [ResolvedTo(IMPORTS)] common.kt
|
||||
public open expect [ResolvedTo(SUPER_TYPES)] class Base<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
|
||||
public? expect [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(SUPER_TYPES)] T>(): R|Base<T>|
|
||||
FILE: [ResolvedTo(RAW_FIR)] common.kt
|
||||
public open expect [ResolvedTo(RAW_FIR)] class Base<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? expect [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(RAW_FIR)] T>(): R|Base<T>|
|
||||
|
||||
public? final? expect [ResolvedTo(RAW_FIR)] fun existingMethodInBase([ResolvedTo(RAW_FIR)] param: T): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public open [ResolvedTo(SUPER_TYPES)] class Transitive : R|Base<kotlin/String>| {
|
||||
public open [ResolvedTo(RAW_FIR)] class Transitive : Base<String> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Transitive] constructor(): R|Transitive| {
|
||||
LAZY_super<Base<R|kotlin/String|>>
|
||||
LAZY_super<Base<String>>
|
||||
}
|
||||
|
||||
}
|
||||
@@ -209,8 +209,8 @@ FILE: [ResolvedTo(IMPORTS)] common.kt
|
||||
}
|
||||
|
||||
FILE: [ResolvedTo(IMPORTS)] jvm.kt
|
||||
public open actual [ResolvedTo(RAW_FIR)] class Base<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(RAW_FIR)] T>(): R|Base<T>| {
|
||||
public open actual [ResolvedTo(SUPER_TYPES)] class Base<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Base] constructor<[ResolvedTo(SUPER_TYPES)] T>(): R|Base<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user