FIR IDE: handle annotation array values properly

This commit is contained in:
Jinseong Jeon
2021-09-20 23:05:31 -07:00
committed by Ilya Kirillov
parent ffd0a5ed14
commit 414881403b
13 changed files with 95 additions and 21 deletions
@@ -2,5 +2,5 @@ annotation class Annotation(vararg val strings: String)
annotation class AnnotationInner(val value: Annotation)
@AnnotationInner(<expr>Annotation(["v1", "v2"])</expr>)
@AnnotationInner(<expr>Annotation(strings = ["v1", "v2"])</expr>)
class C
@@ -1,4 +1,4 @@
expression: Annotation(["v1", "v2"])
expression: Annotation(strings = ["v1", "v2"])
constant_value: KtAnnotationConstantValue(Annotation, (strings = KtArrayConstantValue [
KtLiteralConstantValue(constantValueKind=String, value=v1)
KtLiteralConstantValue(constantValueKind=String, value=v2)
@@ -0,0 +1,6 @@
annotation class Annotation(vararg val strings: String)
annotation class AnnotationInner(val value: Annotation)
@AnnotationInner(<expr>Annotation(*["v1", "v2"])</expr>)
class C
@@ -0,0 +1,6 @@
expression: Annotation(*["v1", "v2"])
constant_value: KtAnnotationConstantValue(Annotation, (strings = KtArrayConstantValue [
KtLiteralConstantValue(constantValueKind=String, value=v1)
KtLiteralConstantValue(constantValueKind=String, value=v2)
]))
constant: null
@@ -2,5 +2,5 @@ annotation class Annotation(vararg val strings: String)
annotation class AnnotationArray(vararg val annos: Annotation)
@AnnotationArray(<expr>annos = arrayOf(Annotation("v1", "v2"), Annotation(strings = arrayOf("v3", "v4")))</expr>)
@AnnotationArray(annos = <expr>arrayOf(Annotation("v1", "v2"), Annotation(strings = arrayOf("v3", "v4")))</expr>)
class C
@@ -2,5 +2,5 @@ annotation class Annotation(vararg val strings: String)
annotation class AnnotationArray(vararg val annos: Annotation)
@AnnotationArray(<expr>[Annotation("v1", "v2"), Annotation(["v3", "v4"])]</expr>)
@AnnotationArray(annos = <expr>[Annotation("v1", "v2"), Annotation(strings = ["v3", "v4"])]</expr>)
class C
@@ -1,4 +1,4 @@
expression: [Annotation("v1", "v2"), Annotation(["v3", "v4"])]
expression: [Annotation("v1", "v2"), Annotation(strings = ["v3", "v4"])]
constant_value: KtArrayConstantValue [
KtAnnotationConstantValue(Annotation, (strings = KtArrayConstantValue [
KtLiteralConstantValue(constantValueKind=String, value=v1)
@@ -0,0 +1,6 @@
annotation class Annotation(vararg val strings: String)
annotation class AnnotationInner(val value: Annotation)
@AnnotationInner(<expr>Annotation("v1")</expr>)
class C
@@ -0,0 +1,5 @@
expression: Annotation("v1")
constant_value: KtAnnotationConstantValue(Annotation, (strings = KtArrayConstantValue [
KtLiteralConstantValue(constantValueKind=String, value=v1)
]))
constant: null
@@ -0,0 +1,6 @@
annotation class Annotation(vararg val strings: String)
annotation class AnnotationInner(val value: Annotation)
@AnnotationInner(<expr>Annotation("v1", "v2")</expr>)
class C
@@ -0,0 +1,6 @@
expression: Annotation("v1", "v2")
constant_value: KtAnnotationConstantValue(Annotation, (strings = KtArrayConstantValue [
KtLiteralConstantValue(constantValueKind=String, value=v1)
KtLiteralConstantValue(constantValueKind=String, value=v2)
]))
constant: null