From 464eecef03e60d58b1c0d28e875e57393733e30c Mon Sep 17 00:00:00 2001 From: Jinseong Jeon Date: Fri, 24 Sep 2021 11:35:02 -0700 Subject: [PATCH] FIR IDE: add more tests about annotation resolution --- .../fir/components/AbstractResolveCallTest.kt | 5 ++ .../components/ResolveCallTestGenerated.java | 90 +++++++++++++++++++ .../resolveCall/annotationOnDelegate.kt | 2 + .../resolveCall/annotationOnDelegate.txt | 3 + .../resolveCall/annotationOnExpression_asT.kt | 8 ++ .../annotationOnExpression_asT.txt | 3 + .../annotationOnExpression_destructuring.kt | 4 + .../annotationOnExpression_destructuring.txt | 1 + .../resolveCall/annotationOnExpression_if.kt | 3 + .../resolveCall/annotationOnExpression_if.txt | 3 + .../annotationOnExpression_whenBranch.kt | 7 ++ .../annotationOnExpression_whenBranch.txt | 3 + .../resolveCall/annotationOnFile.kt | 6 ++ .../resolveCall/annotationOnFile.txt | 3 + .../annotationOnParameter_param.kt | 3 + .../annotationOnParameter_param.txt | 3 + ...annotationOnParameter_parameterProperty.kt | 3 + ...nnotationOnParameter_parameterProperty.txt | 3 + .../annotationOnParameter_reified.kt | 1 + .../annotationOnParameter_reified.txt | 3 + .../annotationOnParameter_setparam.kt | 3 + .../annotationOnParameter_setparam.txt | 3 + .../resolveCall/annotationOnProperty_field.kt | 9 ++ .../annotationOnProperty_field.txt | 3 + .../resolveCall/annotationOnProperty_get.kt | 4 + .../resolveCall/annotationOnProperty_get.txt | 3 + .../annotationOnProperty_property.kt | 4 + .../annotationOnProperty_property.txt | 3 + .../resolveCall/annotationOnProperty_set.kt | 4 + .../resolveCall/annotationOnProperty_set.txt | 3 + .../resolveCall/annotationOnReceiver.kt | 6 ++ .../resolveCall/annotationOnReceiver.txt | 3 + 32 files changed, 205 insertions(+) create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnDelegate.kt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnDelegate.txt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_asT.kt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_asT.txt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_destructuring.kt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_destructuring.txt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_if.kt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_if.txt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_whenBranch.kt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_whenBranch.txt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnFile.kt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnFile.txt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_param.kt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_param.txt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_parameterProperty.kt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_parameterProperty.txt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_reified.kt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_reified.txt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_setparam.kt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_setparam.txt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_field.kt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_field.txt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_get.kt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_get.txt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_property.kt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_property.txt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_set.kt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_set.txt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnReceiver.kt create mode 100644 analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnReceiver.txt diff --git a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/components/AbstractResolveCallTest.kt b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/components/AbstractResolveCallTest.kt index b58afd30440..272b6a5ce94 100644 --- a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/components/AbstractResolveCallTest.kt +++ b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/components/AbstractResolveCallTest.kt @@ -55,6 +55,11 @@ abstract class AbstractResolveCallTest : AbstractHLApiSingleModuleTest() { ?: error("Only single annotation entry is supported for now") annotationEntry.resolveCall() } + is KtFileAnnotationList -> { + val annotationEntry = element.annotationEntries.singleOrNull() + ?: error("Only single annotation entry is supported for now") + annotationEntry.resolveCall() + } else -> error("Selected element type (${element::class.simpleName}) is not supported for resolveCall()") } diff --git a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/components/ResolveCallTestGenerated.java b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/components/ResolveCallTestGenerated.java index 0394830a6ad..c264c80bc15 100644 --- a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/components/ResolveCallTestGenerated.java +++ b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/components/ResolveCallTestGenerated.java @@ -66,6 +66,96 @@ public class ResolveCallTestGenerated extends AbstractResolveCallTest { runTest("analysis/analysis-api/testData/analysisSession/resolveCall/annotationInAnnotation_vararg.kt"); } + @Test + @TestMetadata("annotationOnDelegate.kt") + public void testAnnotationOnDelegate() throws Exception { + runTest("analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnDelegate.kt"); + } + + @Test + @TestMetadata("annotationOnExpression_asT.kt") + public void testAnnotationOnExpression_asT() throws Exception { + runTest("analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_asT.kt"); + } + + @Test + @TestMetadata("annotationOnExpression_destructuring.kt") + public void testAnnotationOnExpression_destructuring() throws Exception { + runTest("analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_destructuring.kt"); + } + + @Test + @TestMetadata("annotationOnExpression_if.kt") + public void testAnnotationOnExpression_if() throws Exception { + runTest("analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_if.kt"); + } + + @Test + @TestMetadata("annotationOnExpression_whenBranch.kt") + public void testAnnotationOnExpression_whenBranch() throws Exception { + runTest("analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_whenBranch.kt"); + } + + @Test + @TestMetadata("annotationOnFile.kt") + public void testAnnotationOnFile() throws Exception { + runTest("analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnFile.kt"); + } + + @Test + @TestMetadata("annotationOnParameter_param.kt") + public void testAnnotationOnParameter_param() throws Exception { + runTest("analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_param.kt"); + } + + @Test + @TestMetadata("annotationOnParameter_parameterProperty.kt") + public void testAnnotationOnParameter_parameterProperty() throws Exception { + runTest("analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_parameterProperty.kt"); + } + + @Test + @TestMetadata("annotationOnParameter_reified.kt") + public void testAnnotationOnParameter_reified() throws Exception { + runTest("analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_reified.kt"); + } + + @Test + @TestMetadata("annotationOnParameter_setparam.kt") + public void testAnnotationOnParameter_setparam() throws Exception { + runTest("analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_setparam.kt"); + } + + @Test + @TestMetadata("annotationOnProperty_field.kt") + public void testAnnotationOnProperty_field() throws Exception { + runTest("analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_field.kt"); + } + + @Test + @TestMetadata("annotationOnProperty_get.kt") + public void testAnnotationOnProperty_get() throws Exception { + runTest("analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_get.kt"); + } + + @Test + @TestMetadata("annotationOnProperty_property.kt") + public void testAnnotationOnProperty_property() throws Exception { + runTest("analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_property.kt"); + } + + @Test + @TestMetadata("annotationOnProperty_set.kt") + public void testAnnotationOnProperty_set() throws Exception { + runTest("analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_set.kt"); + } + + @Test + @TestMetadata("annotationOnReceiver.kt") + public void testAnnotationOnReceiver() throws Exception { + runTest("analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnReceiver.kt"); + } + @Test @TestMetadata("arrayOfInAnnotation.kt") public void testArrayOfInAnnotation() throws Exception { diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnDelegate.kt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnDelegate.kt new file mode 100644 index 00000000000..ec5542ba365 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnDelegate.kt @@ -0,0 +1,2 @@ +@delegate:Suppress +val annotatedDelegate by lazy { 1 + 1 } diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnDelegate.txt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnDelegate.txt new file mode 100644 index 00000000000..bfb3d0a25e7 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnDelegate.txt @@ -0,0 +1,3 @@ +KtAnnotationCall: +argumentMapping = { } +targetFunction = (vararg names: kotlin.String): kotlin.Suppress diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_asT.kt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_asT.kt new file mode 100644 index 00000000000..7d61400f413 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_asT.kt @@ -0,0 +1,8 @@ +class A(val value : T) +class B + +fun A.toB(): B { + @Suppress("UNCHECKED_CAST") + val v = (value as? Long)?.let { it.toInt() } as T ?: value + return v +} diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_asT.txt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_asT.txt new file mode 100644 index 00000000000..4937c6b0c0f --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_asT.txt @@ -0,0 +1,3 @@ +KtAnnotationCall: +argumentMapping = { "UNCHECKED_CAST" -> (vararg names: kotlin.String) } +targetFunction = (vararg names: kotlin.String): kotlin.Suppress diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_destructuring.kt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_destructuring.kt new file mode 100644 index 00000000000..44094f1434f --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_destructuring.kt @@ -0,0 +1,4 @@ +fun foo(data: Any) { + @Suppress("UNCHECKED_CAST") + val (k, v) = data as Pair +} diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_destructuring.txt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_destructuring.txt new file mode 100644 index 00000000000..19765bd501b --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_destructuring.txt @@ -0,0 +1 @@ +null diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_if.kt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_if.kt new file mode 100644 index 00000000000..abe03849bee --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_if.kt @@ -0,0 +1,3 @@ +val a: Int = 42 +val b: Int = 24 +val c = @Suppress if (a > 2) a else b diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_if.txt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_if.txt new file mode 100644 index 00000000000..bfb3d0a25e7 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_if.txt @@ -0,0 +1,3 @@ +KtAnnotationCall: +argumentMapping = { } +targetFunction = (vararg names: kotlin.String): kotlin.Suppress diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_whenBranch.kt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_whenBranch.kt new file mode 100644 index 00000000000..681a9fb73d1 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_whenBranch.kt @@ -0,0 +1,7 @@ +fun annotatedSwitch(str: String) = + when { + @Suppress("DEPRECATION") + str.isBlank() -> null + str.isNotEmpty() != null -> null + else -> 1 + } diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_whenBranch.txt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_whenBranch.txt new file mode 100644 index 00000000000..38abfcaaaa0 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnExpression_whenBranch.txt @@ -0,0 +1,3 @@ +KtAnnotationCall: +argumentMapping = { "DEPRECATION" -> (vararg names: kotlin.String) } +targetFunction = (vararg names: kotlin.String): kotlin.Suppress diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnFile.kt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnFile.kt new file mode 100644 index 00000000000..abf930dbd58 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnFile.kt @@ -0,0 +1,6 @@ +// WITH_STDLIB +@file:JvmName("Foo") +package some.pkg + +val p : Int = 42 + diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnFile.txt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnFile.txt new file mode 100644 index 00000000000..0ff7ff611de --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnFile.txt @@ -0,0 +1,3 @@ +KtAnnotationCall: +argumentMapping = { "Foo" -> (name: kotlin.String) } +targetFunction = (name: kotlin.String): kotlin.jvm.JvmName diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_param.kt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_param.kt new file mode 100644 index 00000000000..c932e76f0e9 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_param.kt @@ -0,0 +1,3 @@ +annotation class Anno + +class Test1(@param:Anno var bar: Int) diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_param.txt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_param.txt new file mode 100644 index 00000000000..2db10886b03 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_param.txt @@ -0,0 +1,3 @@ +KtAnnotationCall: +argumentMapping = { } +targetFunction = (): Anno diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_parameterProperty.kt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_parameterProperty.kt new file mode 100644 index 00000000000..a7b834e3dd8 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_parameterProperty.kt @@ -0,0 +1,3 @@ +annotation class Anno + +class Test1(@Anno var bar: Int) diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_parameterProperty.txt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_parameterProperty.txt new file mode 100644 index 00000000000..2db10886b03 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_parameterProperty.txt @@ -0,0 +1,3 @@ +KtAnnotationCall: +argumentMapping = { } +targetFunction = (): Anno diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_reified.kt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_reified.kt new file mode 100644 index 00000000000..e5eab09ba47 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_reified.kt @@ -0,0 +1 @@ +inline fun functionWithParamAnnotation(@Suppress("s") t: T): T = t diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_reified.txt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_reified.txt new file mode 100644 index 00000000000..0f0858ce752 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_reified.txt @@ -0,0 +1,3 @@ +KtAnnotationCall: +argumentMapping = { "s" -> (vararg names: kotlin.String) } +targetFunction = (vararg names: kotlin.String): kotlin.Suppress diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_setparam.kt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_setparam.kt new file mode 100644 index 00000000000..def29ba98af --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_setparam.kt @@ -0,0 +1,3 @@ +annotation class Anno + +class Test1(@setparam:Anno var bar: Int) diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_setparam.txt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_setparam.txt new file mode 100644 index 00000000000..2db10886b03 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnParameter_setparam.txt @@ -0,0 +1,3 @@ +KtAnnotationCall: +argumentMapping = { } +targetFunction = (): Anno diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_field.kt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_field.kt new file mode 100644 index 00000000000..50f12c1149e --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_field.kt @@ -0,0 +1,9 @@ +annotation class Anno + +@field:Anno +var p : Int = 42 + set(value) { + if (value > field) { + field = value + } + } diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_field.txt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_field.txt new file mode 100644 index 00000000000..2db10886b03 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_field.txt @@ -0,0 +1,3 @@ +KtAnnotationCall: +argumentMapping = { } +targetFunction = (): Anno diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_get.kt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_get.kt new file mode 100644 index 00000000000..321f0da29b0 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_get.kt @@ -0,0 +1,4 @@ +annotation class Anno + +@get:Anno +val p : Int = 42 diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_get.txt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_get.txt new file mode 100644 index 00000000000..2db10886b03 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_get.txt @@ -0,0 +1,3 @@ +KtAnnotationCall: +argumentMapping = { } +targetFunction = (): Anno diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_property.kt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_property.kt new file mode 100644 index 00000000000..4dc668ea3cc --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_property.kt @@ -0,0 +1,4 @@ +annotation class Anno + +@property:Anno +val p : Int = 42 diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_property.txt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_property.txt new file mode 100644 index 00000000000..2db10886b03 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_property.txt @@ -0,0 +1,3 @@ +KtAnnotationCall: +argumentMapping = { } +targetFunction = (): Anno diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_set.kt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_set.kt new file mode 100644 index 00000000000..6f41962d67e --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_set.kt @@ -0,0 +1,4 @@ +annotation class Anno + +@set:Anno +var p : Int = 42 diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_set.txt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_set.txt new file mode 100644 index 00000000000..2db10886b03 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnProperty_set.txt @@ -0,0 +1,3 @@ +KtAnnotationCall: +argumentMapping = { } +targetFunction = (): Anno diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnReceiver.kt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnReceiver.kt new file mode 100644 index 00000000000..62a4a1c7bd3 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnReceiver.kt @@ -0,0 +1,6 @@ +annotation class Anno + +@receiver:Anno +fun String.foo() { + return "$this (${this.length})" +} diff --git a/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnReceiver.txt b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnReceiver.txt new file mode 100644 index 00000000000..2db10886b03 --- /dev/null +++ b/analysis/analysis-api/testData/analysisSession/resolveCall/annotationOnReceiver.txt @@ -0,0 +1,3 @@ +KtAnnotationCall: +argumentMapping = { } +targetFunction = (): Anno