[LL FIR] do not resolve declarations from script separately

It leads to exceptions because of race.
We shouldn't try to resolve a script and its content simultaneously,
because it is not thread-safe

^KT-60728
This commit is contained in:
Dmitrii Gridin
2023-07-26 21:13:15 +02:00
committed by Space Team
parent 6fa254c353
commit 8a906004e3
5 changed files with 183 additions and 6 deletions
@@ -6,11 +6,12 @@
package org.jetbrains.kotlin.generators.tests.analysis.api
import org.jetbrains.kotlin.analysis.low.level.api.fir.*
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.AbstractDiagnosticTraversalCounterTest
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.compiler.based.AbstractLLFirDiagnosticCompilerTestDataSpecTest
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.AbstractFirOutOfContentRootContextCollectionTest
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.AbstractFirSourceContextCollectionTest
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.AbstractScriptContextCollectionTest
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.AbstractScriptDiagnosticTraversalCounterTest
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.AbstractSourceDiagnosticTraversalCounterTest
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.compiler.based.AbstractDiagnosticCompilerTestDataTest
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.compiler.based.AbstractLLFirPreresolvedReversedDiagnosticCompilerTestDataSpecTest
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.compiler.based.AbstractLLFirPreresolvedReversedDiagnosticCompilerTestDataTest
@@ -93,10 +94,14 @@ internal fun TestGroupSuite.generateFirLowLevelApiTests() {
model("fileStructure", pattern = TestGeneratorUtil.KTS)
}
testClass<AbstractDiagnosticTraversalCounterTest> {
testClass<AbstractSourceDiagnosticTraversalCounterTest> {
model("fileStructure", pattern = TestGeneratorUtil.KT)
}
testClass<AbstractScriptDiagnosticTraversalCounterTest> {
model("fileStructure", pattern = TestGeneratorUtil.KTS)
}
testClass<AbstractSourceInnerDeclarationsResolvePhaseTest> {
model("innerDeclarationsResolve")
}