Analysis API: add test for annotations on types
This commit is contained in:
+12
@@ -0,0 +1,12 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.analysis.api.descriptors.test.annotations
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.analysis.api.descriptors.test.KtFe10FrontendApiTestConfiguratorService
|
||||||
|
import org.jetbrains.kotlin.analysis.api.impl.base.test.annotations.AbstractAnalysisApiAnnotationsOnTypesTest
|
||||||
|
|
||||||
|
abstract class AbstractAnalysisApiFe10AnnotationsOnTypesTest :
|
||||||
|
AbstractAnalysisApiAnnotationsOnTypesTest(KtFe10FrontendApiTestConfiguratorService)
|
||||||
+68
@@ -0,0 +1,68 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.analysis.api.descriptors.test.annotations;
|
||||||
|
|
||||||
|
import com.intellij.testFramework.TestDataPath;
|
||||||
|
import org.jetbrains.kotlin.test.util.KtTestUtil;
|
||||||
|
import org.jetbrains.kotlin.test.TestMetadata;
|
||||||
|
import org.junit.jupiter.api.Nested;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
/** This class is generated by {@link GenerateNewCompilerTests.kt}. DO NOT MODIFY MANUALLY */
|
||||||
|
@SuppressWarnings("all")
|
||||||
|
@TestMetadata("analysis/analysis-api/testData/annotations/annotationsOnTypes")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class AnalysisApiFe10AnnotationsOnTypesTestGenerated extends AbstractAnalysisApiFe10AnnotationsOnTypesTest {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInAnnotationsOnTypes() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/annotations/annotationsOnTypes"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("annotaionOnType.kt")
|
||||||
|
public void testAnnotaionOnType() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/annotations/annotationsOnTypes/annotaionOnType.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("annotaionOnTypeArgument.kt")
|
||||||
|
public void testAnnotaionOnTypeArgument() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/annotations/annotationsOnTypes/annotaionOnTypeArgument.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("annotaionOnTypeArgumentOfTypeArgument.kt")
|
||||||
|
public void testAnnotaionOnTypeArgumentOfTypeArgument() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/annotations/annotationsOnTypes/annotaionOnTypeArgumentOfTypeArgument.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("annotaionWithComplexArgumentOnType.kt")
|
||||||
|
public void testAnnotaionWithComplexArgumentOnType() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/annotations/annotationsOnTypes/annotaionWithComplexArgumentOnType.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("annotaionWithComplexArgumentOnTypeArgument.kt")
|
||||||
|
public void testAnnotaionWithComplexArgumentOnTypeArgument() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/annotations/annotationsOnTypes/annotaionWithComplexArgumentOnTypeArgument.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("annotaionWithLiteralArgumentOnType.kt")
|
||||||
|
public void testAnnotaionWithLiteralArgumentOnType() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/annotations/annotationsOnTypes/annotaionWithLiteralArgumentOnType.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("annotaionWithLiteralArgumentOnTypeArgument.kt")
|
||||||
|
public void testAnnotaionWithLiteralArgumentOnTypeArgument() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/annotations/annotationsOnTypes/annotaionWithLiteralArgumentOnTypeArgument.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
+12
@@ -0,0 +1,12 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.analysis.api.fir.annotations
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.analysis.api.fir.FirFrontendApiTestConfiguratorService
|
||||||
|
import org.jetbrains.kotlin.analysis.api.impl.base.test.annotations.AbstractAnalysisApiAnnotationsOnTypesTest
|
||||||
|
|
||||||
|
abstract class AbstractAnalysisApiFirAnnotationsOnTypesTest :
|
||||||
|
AbstractAnalysisApiAnnotationsOnTypesTest(FirFrontendApiTestConfiguratorService)
|
||||||
+68
@@ -0,0 +1,68 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.analysis.api.fir.annotations;
|
||||||
|
|
||||||
|
import com.intellij.testFramework.TestDataPath;
|
||||||
|
import org.jetbrains.kotlin.test.util.KtTestUtil;
|
||||||
|
import org.jetbrains.kotlin.test.TestMetadata;
|
||||||
|
import org.junit.jupiter.api.Nested;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
/** This class is generated by {@link GenerateNewCompilerTests.kt}. DO NOT MODIFY MANUALLY */
|
||||||
|
@SuppressWarnings("all")
|
||||||
|
@TestMetadata("analysis/analysis-api/testData/annotations/annotationsOnTypes")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class AnalysisApiFirAnnotationsOnTypesTestGenerated extends AbstractAnalysisApiFirAnnotationsOnTypesTest {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInAnnotationsOnTypes() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/annotations/annotationsOnTypes"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("annotaionOnType.kt")
|
||||||
|
public void testAnnotaionOnType() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/annotations/annotationsOnTypes/annotaionOnType.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("annotaionOnTypeArgument.kt")
|
||||||
|
public void testAnnotaionOnTypeArgument() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/annotations/annotationsOnTypes/annotaionOnTypeArgument.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("annotaionOnTypeArgumentOfTypeArgument.kt")
|
||||||
|
public void testAnnotaionOnTypeArgumentOfTypeArgument() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/annotations/annotationsOnTypes/annotaionOnTypeArgumentOfTypeArgument.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("annotaionWithComplexArgumentOnType.kt")
|
||||||
|
public void testAnnotaionWithComplexArgumentOnType() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/annotations/annotationsOnTypes/annotaionWithComplexArgumentOnType.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("annotaionWithComplexArgumentOnTypeArgument.kt")
|
||||||
|
public void testAnnotaionWithComplexArgumentOnTypeArgument() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/annotations/annotationsOnTypes/annotaionWithComplexArgumentOnTypeArgument.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("annotaionWithLiteralArgumentOnType.kt")
|
||||||
|
public void testAnnotaionWithLiteralArgumentOnType() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/annotations/annotationsOnTypes/annotaionWithLiteralArgumentOnType.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("annotaionWithLiteralArgumentOnTypeArgument.kt")
|
||||||
|
public void testAnnotaionWithLiteralArgumentOnTypeArgument() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/annotations/annotationsOnTypes/annotaionWithLiteralArgumentOnTypeArgument.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
+43
@@ -0,0 +1,43 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.analysis.api.impl.base.test.annotations
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.analysis.api.annotations.annotations
|
||||||
|
import org.jetbrains.kotlin.analysis.api.impl.barebone.test.FrontendApiTestConfiguratorService
|
||||||
|
import org.jetbrains.kotlin.analysis.api.impl.barebone.test.expressionMarkerProvider
|
||||||
|
import org.jetbrains.kotlin.analysis.api.impl.base.test.indented
|
||||||
|
import org.jetbrains.kotlin.analysis.api.impl.base.test.test.framework.AbstractHLApiSingleFileTest
|
||||||
|
import org.jetbrains.kotlin.analysis.api.symbols.DebugSymbolRenderer
|
||||||
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
|
import org.jetbrains.kotlin.psi.KtTypeReference
|
||||||
|
import org.jetbrains.kotlin.test.model.TestModule
|
||||||
|
import org.jetbrains.kotlin.test.services.TestServices
|
||||||
|
import org.jetbrains.kotlin.test.services.assertions
|
||||||
|
|
||||||
|
abstract class AbstractAnalysisApiAnnotationsOnTypesTest(
|
||||||
|
configurator: FrontendApiTestConfiguratorService
|
||||||
|
) : AbstractHLApiSingleFileTest(configurator) {
|
||||||
|
|
||||||
|
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
||||||
|
val ktTypeReference = testServices.expressionMarkerProvider
|
||||||
|
.getElementOfTypAtCaret<KtTypeReference>(ktFile)
|
||||||
|
val actual = analyseForTest(ktFile) {
|
||||||
|
val ktType = ktTypeReference.getKtType()
|
||||||
|
val annotations = ktType.annotations
|
||||||
|
buildString {
|
||||||
|
appendLine("KtTypeReference: ${ktTypeReference.text}")
|
||||||
|
appendLine("annotations: [")
|
||||||
|
for (annotation in annotations) {
|
||||||
|
appendLine(DebugSymbolRenderer.renderAnnotationApplication(annotation).indented(indent = 2))
|
||||||
|
}
|
||||||
|
appendLine("]")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
testServices.assertions.assertEqualsToTestDataFileSibling(actual)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
+5
@@ -40,4 +40,9 @@ fun KtSymbol.getNameWithPositionString(): String {
|
|||||||
null -> "null"
|
null -> "null"
|
||||||
else -> psi::class.simpleName
|
else -> psi::class.simpleName
|
||||||
} + "@" + psi.position()
|
} + "@" + psi.position()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun String.indented(indent: Int): String {
|
||||||
|
val indentString = " ".repeat(indent)
|
||||||
|
return indentString + replace("\n", "\n$indentString")
|
||||||
}
|
}
|
||||||
+1
-1
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.test.services.TestServices
|
|||||||
|
|
||||||
abstract class AbstractHLApiSingleFileTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleModuleTest(configurator) {
|
abstract class AbstractHLApiSingleFileTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleModuleTest(configurator) {
|
||||||
final override fun doTestByFileStructure(ktFiles: List<KtFile>, module: TestModule, testServices: TestServices) {
|
final override fun doTestByFileStructure(ktFiles: List<KtFile>, module: TestModule, testServices: TestServices) {
|
||||||
val singleFile = ktFiles.single()
|
val singleFile = ktFiles.singleOrNull() ?: ktFiles.first { it.name == "main.kt" }
|
||||||
doTestByFileStructure(singleFile, module, testServices)
|
doTestByFileStructure(singleFile, module, testServices)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
@@ -27,6 +27,9 @@ import kotlin.reflect.full.extensionReceiverParameter
|
|||||||
public object DebugSymbolRenderer {
|
public object DebugSymbolRenderer {
|
||||||
public fun render(symbol: KtSymbol): String = Block().apply { renderSymbol(symbol) }.toString()
|
public fun render(symbol: KtSymbol): String = Block().apply { renderSymbol(symbol) }.toString()
|
||||||
|
|
||||||
|
public fun renderAnnotationApplication(application: KtAnnotationApplication): String =
|
||||||
|
Block().apply { renderAnnotationApplication(application) }.toString()
|
||||||
|
|
||||||
public fun renderType(type: KtType): String = Block().apply { renderType(type) }.toString()
|
public fun renderType(type: KtType): String = Block().apply { renderType(type) }.toString()
|
||||||
|
|
||||||
public fun KtAnalysisSession.renderExtra(symbol: KtSymbol): String = Block().apply {
|
public fun KtAnalysisSession.renderExtra(symbol: KtSymbol): String = Block().apply {
|
||||||
|
|||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
@Target(AnnotationTarget.TYPE)
|
||||||
|
annotation class TypeAnnotation
|
||||||
|
|
||||||
|
fun x(): @TypeAnnotation Li<caret>st<Int> {
|
||||||
|
TODO()
|
||||||
|
}
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KtTypeReference: @TypeAnnotation List<Int>
|
||||||
|
annotations: [
|
||||||
|
TypeAnnotation()
|
||||||
|
psi: KtAnnotationEntry
|
||||||
|
]
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
@Target(AnnotationTarget.TYPE)
|
||||||
|
annotation class TypeAnnotation
|
||||||
|
|
||||||
|
fun x(): List<@TypeAnnotation In<caret>t> {
|
||||||
|
TODO()
|
||||||
|
}
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KtTypeReference: @TypeAnnotation Int
|
||||||
|
annotations: [
|
||||||
|
TypeAnnotation()
|
||||||
|
psi: KtAnnotationEntry
|
||||||
|
]
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
@Target(AnnotationTarget.TYPE)
|
||||||
|
annotation class TypeAnnotation
|
||||||
|
|
||||||
|
fun x(): List<MutableList<@TypeAnnotation I<caret>nt>> {
|
||||||
|
TODO()
|
||||||
|
}
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KtTypeReference: @TypeAnnotation Int
|
||||||
|
annotations: [
|
||||||
|
TypeAnnotation()
|
||||||
|
psi: KtAnnotationEntry
|
||||||
|
]
|
||||||
Vendored
+6
@@ -0,0 +1,6 @@
|
|||||||
|
@Target(AnnotationTarget.TYPE)
|
||||||
|
annotation class TypeAnnotation(val value: Int)
|
||||||
|
|
||||||
|
fun x(): @TypeAnnotation(1 + 1) Li<caret>st<Int> {
|
||||||
|
TODO()
|
||||||
|
}
|
||||||
analysis/analysis-api/testData/annotations/annotationsOnTypes/annotaionWithComplexArgumentOnType.txt
Vendored
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KtTypeReference: @TypeAnnotation(1 + 1) List<Int>
|
||||||
|
annotations: [
|
||||||
|
TypeAnnotation(value = 2)
|
||||||
|
psi: KtAnnotationEntry
|
||||||
|
]
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
@Target(AnnotationTarget.TYPE)
|
||||||
|
annotation class TypeAnnotation(val value: Int)
|
||||||
|
|
||||||
|
fun x(): MutableList<@TypeAnnotation(1 + 1) L<caret>ist<Int>> {
|
||||||
|
TODO()
|
||||||
|
}
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KtTypeReference: @TypeAnnotation(1 + 1) List<Int>
|
||||||
|
annotations: [
|
||||||
|
TypeAnnotation(value = 2)
|
||||||
|
psi: KtAnnotationEntry
|
||||||
|
]
|
||||||
Vendored
+6
@@ -0,0 +1,6 @@
|
|||||||
|
@Target(AnnotationTarget.TYPE)
|
||||||
|
annotation class TypeAnnotation(val value: Int)
|
||||||
|
|
||||||
|
fun x(): @TypeAnnotation(1) Li<caret>st<Int> {
|
||||||
|
TODO()
|
||||||
|
}
|
||||||
analysis/analysis-api/testData/annotations/annotationsOnTypes/annotaionWithLiteralArgumentOnType.txt
Vendored
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KtTypeReference: @TypeAnnotation(1) List<Int>
|
||||||
|
annotations: [
|
||||||
|
TypeAnnotation(value = 1)
|
||||||
|
psi: KtAnnotationEntry
|
||||||
|
]
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
@Target(AnnotationTarget.TYPE)
|
||||||
|
annotation class TypeAnnotation(val value: Int)
|
||||||
|
|
||||||
|
fun x(): List<@TypeAnnotation(1) I<caret>nt> {
|
||||||
|
TODO()
|
||||||
|
}
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
KtTypeReference: @TypeAnnotation(1) Int
|
||||||
|
annotations: [
|
||||||
|
TypeAnnotation(value = 1)
|
||||||
|
psi: KtAnnotationEntry
|
||||||
|
]
|
||||||
+11
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.generators.tests.analysis.api
|
package org.jetbrains.kotlin.generators.tests.analysis.api
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.analysis.api.descriptors.test.annotations.AbstractAnalysisApiFe10AnnotationsOnTypesTest
|
||||||
import org.jetbrains.kotlin.analysis.api.descriptors.test.components.callResolver.AbstractKtFe10ResolveCallTest
|
import org.jetbrains.kotlin.analysis.api.descriptors.test.components.callResolver.AbstractKtFe10ResolveCallTest
|
||||||
import org.jetbrains.kotlin.analysis.api.descriptors.test.components.compileTimeConstantProvider.AbstractKtFe10CompileTimeConstantEvaluatorTest
|
import org.jetbrains.kotlin.analysis.api.descriptors.test.components.compileTimeConstantProvider.AbstractKtFe10CompileTimeConstantEvaluatorTest
|
||||||
import org.jetbrains.kotlin.analysis.api.descriptors.test.components.expressionInfoProvider.AbstractKtFe10ReturnTargetSymbolTest
|
import org.jetbrains.kotlin.analysis.api.descriptors.test.components.expressionInfoProvider.AbstractKtFe10ReturnTargetSymbolTest
|
||||||
@@ -20,6 +21,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.test.symbols.AbstractKtFe10
|
|||||||
import org.jetbrains.kotlin.analysis.api.descriptors.test.symbols.AbstractKtFe10SymbolByPsiTest
|
import org.jetbrains.kotlin.analysis.api.descriptors.test.symbols.AbstractKtFe10SymbolByPsiTest
|
||||||
import org.jetbrains.kotlin.analysis.api.descriptors.test.symbols.AbstractKtFe10SymbolByReferenceTest
|
import org.jetbrains.kotlin.analysis.api.descriptors.test.symbols.AbstractKtFe10SymbolByReferenceTest
|
||||||
import org.jetbrains.kotlin.analysis.api.fir.AbstractFirReferenceResolveTest
|
import org.jetbrains.kotlin.analysis.api.fir.AbstractFirReferenceResolveTest
|
||||||
|
import org.jetbrains.kotlin.analysis.api.fir.annotations.AbstractAnalysisApiFirAnnotationsOnTypesTest
|
||||||
import org.jetbrains.kotlin.analysis.api.fir.components.callResolver.AbstractFirResolveCallTest
|
import org.jetbrains.kotlin.analysis.api.fir.components.callResolver.AbstractFirResolveCallTest
|
||||||
import org.jetbrains.kotlin.analysis.api.fir.components.compileTimeConstantProvider.AbstractFirCompileTimeConstantEvaluatorTest
|
import org.jetbrains.kotlin.analysis.api.fir.components.compileTimeConstantProvider.AbstractFirCompileTimeConstantEvaluatorTest
|
||||||
import org.jetbrains.kotlin.analysis.api.fir.components.expressionInfoProvider.AbstractFirReturnTargetSymbolTest
|
import org.jetbrains.kotlin.analysis.api.fir.components.expressionInfoProvider.AbstractFirReturnTargetSymbolTest
|
||||||
@@ -102,6 +104,15 @@ private fun TestGroupSuite.generateAnalysisApiNonComponentsTests() {
|
|||||||
model("symbolByReference")
|
model("symbolByReference")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
group("annotations") {
|
||||||
|
test(
|
||||||
|
fir = AbstractAnalysisApiFirAnnotationsOnTypesTest::class,
|
||||||
|
fe10 = AbstractAnalysisApiFe10AnnotationsOnTypesTest::class
|
||||||
|
) {
|
||||||
|
model("annotationsOnTypes")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user