Don't report warning about changing execution order for varargs if it's inside an annotation

^KT-43110 Fixed
This commit is contained in:
Victor Petukhov
2020-11-03 16:18:20 +03:00
parent f052bc341c
commit 90ea64a0e5
12 changed files with 108 additions and 10 deletions
@@ -24,13 +24,13 @@ fun test_ann(s: String, arr: Array<String>) {
foo()
@Ann(*[""], x = 1)
foo()
@Ann(<!NI;CHANGING_ARGUMENTS_EXECUTION_ORDER_FOR_NAMED_VARARGS!>s = [""]<!>, x = 1)
@Ann(s = [""], x = 1)
foo()
@Ann(<!NI;CHANGING_ARGUMENTS_EXECUTION_ORDER_FOR_NAMED_VARARGS!>s = *<!REDUNDANT_SPREAD_OPERATOR_IN_NAMED_FORM_IN_ANNOTATION!>[""]<!><!>, x = 1)
@Ann(s = *<!REDUNDANT_SPREAD_OPERATOR_IN_NAMED_FORM_IN_ANNOTATION!>[""]<!>, x = 1)
foo()
@Ann("", x = 1)
foo()
@Ann(<!NI;CHANGING_ARGUMENTS_EXECUTION_ORDER_FOR_NAMED_VARARGS!>s = <!ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_ANNOTATION_ERROR, NI;TYPE_MISMATCH!>""<!><!>, x = 1)
@Ann(s = <!ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_ANNOTATION_ERROR, NI;TYPE_MISMATCH!>""<!>, x = 1)
foo()
}
@@ -24,13 +24,13 @@ fun test_ann(s: String, arr: Array<String>) {
foo()
@Ann(*[""], x = 1)
foo()
@Ann(<!NI;CHANGING_ARGUMENTS_EXECUTION_ORDER_FOR_NAMED_VARARGS!>s = [""]<!>, x = 1)
@Ann(s = [""], x = 1)
foo()
@Ann(<!NI;CHANGING_ARGUMENTS_EXECUTION_ORDER_FOR_NAMED_VARARGS!>s = *<!REDUNDANT_SPREAD_OPERATOR_IN_NAMED_FORM_IN_ANNOTATION!>[""]<!><!>, x = 1)
@Ann(s = *<!REDUNDANT_SPREAD_OPERATOR_IN_NAMED_FORM_IN_ANNOTATION!>[""]<!>, x = 1)
foo()
@Ann("", x = 1)
foo()
@Ann(<!NI;CHANGING_ARGUMENTS_EXECUTION_ORDER_FOR_NAMED_VARARGS!>s = <!ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_ANNOTATION_ERROR, NI;TYPE_MISMATCH!>""<!><!>, x = 1)
@Ann(s = <!ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_ANNOTATION_ERROR, NI;TYPE_MISMATCH!>""<!>, x = 1)
foo()
}
@@ -33,7 +33,7 @@ fun jTest1() {}
@JavaAnn(value = ["value"])
fun jTest2() {}
@JavaAnn(<!NI;CHANGING_ARGUMENTS_EXECUTION_ORDER_FOR_NAMED_VARARGS!>value = ["value"]<!>, path = ["path"])
@JavaAnn(value = ["value"], path = ["path"])
fun jTest3() {}
@@ -30,7 +30,7 @@ fun jTest1() {}
@JavaAnn(value = <!NI;TYPE_MISMATCH, OI;TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH, TYPE_MISMATCH!>["value"]<!>)
fun jTest2() {}
@JavaAnn(<!NI;CHANGING_ARGUMENTS_EXECUTION_ORDER_FOR_NAMED_VARARGS!>value = <!NI;TYPE_MISMATCH, OI;TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH, TYPE_MISMATCH!>["value"]<!><!>, path = ["path"])
@JavaAnn(value = <!NI;TYPE_MISMATCH, OI;TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH, TYPE_MISMATCH!>["value"]<!>, path = ["path"])
fun jTest3() {}
annotation class IntAnn(vararg val i: Int)