[FIR] take ready implicit unit type instead of return type calculation
and assert that symbol is not a substitution/intersection override in the `compute` method otherwise. Because `fakeOverrideSubstitution` should be calculated for all real implicit types, no call to this method should actually happen. Otherwise, it can be problematic to create a session which would contain the full designation path: `provider.getFirCallableContainerFile(symbol)` returns `firFile` of a super class which might be from module `a`, when declaration and its outer classes are from module `b`. ^KTIJ-24105
This commit is contained in:
+12
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.annotations.Abstra
|
||||
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.annotations.AbstractAnalysisApiAnnotationsOnDeclarationsWithMetaTest
|
||||
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.annotations.AbstractAnalysisApiAnnotationsOnFilesTest
|
||||
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.annotations.AbstractAnalysisApiAnnotationsOnTypesTest
|
||||
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.callResolver.AbstractMultiModuleResolveCallTest
|
||||
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.callResolver.AbstractResolveCallTest
|
||||
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.callResolver.AbstractResolveCandidatesTest
|
||||
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.compileTimeConstantProvider.AbstractCompileTimeConstantEvaluatorTest
|
||||
@@ -205,6 +206,17 @@ private fun AnalysisApiTestGroup.generateAnalysisApiComponentsTests() {
|
||||
}
|
||||
}
|
||||
|
||||
component("multiModuleCallResolver", filter = analysisSessionModeIs(AnalysisSessionMode.Normal)) {
|
||||
test(AbstractMultiModuleResolveCallTest::class, filter = frontendIs(FrontendKind.Fir)) {
|
||||
when (it.analysisApiMode) {
|
||||
AnalysisApiMode.Ide ->
|
||||
model("resolveCall")
|
||||
AnalysisApiMode.Standalone ->
|
||||
model("resolveCall")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
component("compileTimeConstantProvider") {
|
||||
test(AbstractCompileTimeConstantEvaluatorTest::class) {
|
||||
model("evaluate")
|
||||
|
||||
Reference in New Issue
Block a user