[FIR IDE] Initial descriptor-based implementation of the Analysis API

This commit is contained in:
Yan Zhulanow
2021-10-05 19:15:01 +09:00
committed by teamcityserver
parent e2c9be0932
commit 516dd825c2
150 changed files with 9228 additions and 36 deletions
@@ -16,6 +16,7 @@ dependencies {
testApi(projectTests(":compiler:tests-spec"))
testApi(projectTests("::analysis:low-level-api-fir"))
testApi(projectTests(":analysis:analysis-api-fir"))
testApi(projectTests(":analysis:analysis-api-fe10"))
testApi(intellijCoreDep()) { includeJars("intellij-core", "guava", rootProject = rootProject) }
testApiJUnit5()
}
@@ -24,6 +24,9 @@ import org.jetbrains.kotlin.analysis.api.fir.scopes.AbstractFirMemberScopeByFqNa
import org.jetbrains.kotlin.analysis.api.fir.symbols.AbstractFirSymbolByFqNameTest
import org.jetbrains.kotlin.analysis.api.fir.symbols.AbstractFirSymbolByPsiTest
import org.jetbrains.kotlin.analysis.api.fir.symbols.AbstractFirSymbolByReferenceTest
import org.jetbrains.kotlin.analysis.api.descriptors.test.components.*
import org.jetbrains.kotlin.analysis.api.descriptors.test.symbols.AbstractKtFe10SymbolByFqNameTest
import org.jetbrains.kotlin.analysis.api.descriptors.test.symbols.AbstractKtFe10SymbolByReferenceTest
import org.jetbrains.kotlin.spec.utils.GeneralConfiguration
import org.jetbrains.kotlin.spec.utils.tasks.detectDirsWithTestsMapFileOnly
import org.jetbrains.kotlin.generators.generateTestGroupSuiteWithJUnit5
@@ -98,6 +101,60 @@ fun main(args: Array<String>) {
}
}
testGroup("analysis/analysis-api-fe10/tests", "analysis/analysis-api/testData") {
// testClass<AbstractKtFe10ResolveCallTest> {
// model("analysisSession/resolveCall")
// }
// testClass<AbstractKtFe10MemberScopeByFqNameTest> {
// model("memberScopeByFqName")
// }
// testClass<AbstractKtFe10FileScopeTest> {
// model("fileScopeTest", extension = "kt")
// }
// testClass<AbstractKtFe10SymbolByPsiTest> {
// model("symbols/symbolByPsi")
// }
// testClass<AbstractKtFe10CompileTimeConstantEvaluatorTest> {
// model("components/compileTimeConstantEvaluator")
// }
testClass<AbstractKtFe10SymbolByFqNameTest> {
model("symbols/symbolByFqName")
}
testClass<AbstractKtFe10SymbolByReferenceTest> {
model("symbols/symbolByReference")
}
testClass<AbstractKtFe10ExpectedExpressionTypeTest> {
model("components/expectedExpressionType")
}
testClass<AbstractKtFe10OverriddenDeclarationProviderTest> {
model("components/overridenDeclarations")
}
testClass<AbstractKtFe10HLExpressionTypeTest> {
model("components/expressionType")
}
testClass<AbstractKtFe10RendererTest> {
model("components/declarationRenderer")
}
// testClass<AbstractKtFe10ReferenceResolveTest> {
// model("referenceResolve", pattern = TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME)
// }
testClass<AbstractKtFe10HasCommonSubtypeTest> {
model("components/hasCommonSubtype")
}
}
testGroup("analysis/low-level-api-fir/tests", "compiler/fir/raw-fir/psi2fir/testData") {
testClass<AbstractFirLazyBodiesCalculatorTest> {
model("rawBuilder", testMethod = "doTest")