UAST: Fix annotation arguments processing

multiple unnamed arguments represented as value named expression with array initializer
 call kind for array in annotation argument should be "array initializer" instead of "method call"

 #KT-16600 Fixed Target Versions 1.1.5
This commit is contained in:
Vyacheslav Gerasimov
2017-08-24 16:33:52 +03:00
parent e0bf438195
commit 56a075eab6
10 changed files with 361 additions and 32 deletions
@@ -1,9 +1,27 @@
public final class AnnotationParametersKt {
@RequiresPermission(anyOf = intArrayOf(1, 2, 3))
@IntRange(from = 10, to = 0)
@WithDefaultValue
@SuppressLint(value = "Lorem")
public static final fun foo() : int = 5
@IntRange(from = 0, to = 100)
@SuppressLint(value = <noref>("Lorem", "Ipsum", "Dolor"))
public static final fun bar() : void = Unit
}
public abstract annotation IntRange {
public abstract fun from() : long = UastEmptyExpression
public abstract fun to() : long = UastEmptyExpression
}
public abstract annotation RequiresPermission {
public abstract fun anyOf() : int[] = UastEmptyExpression
}
public abstract annotation WithDefaultValue {
public abstract fun value() : int = UastEmptyExpression
}
public abstract annotation SuppressLint {
public abstract fun value() : java.lang.String[] = UastEmptyExpression
}