mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-06 11:50:54 +07:00
AddMissingRequiredAnnotationParametersFix: handle nameless parameter as value (EA-105427)
This commit is contained in:
@@ -90,9 +90,12 @@ public class AddMissingRequiredAnnotationParametersFix implements IntentionActio
|
||||
final PsiAnnotationParameterList parameterList = myAnnotation.getParameterList();
|
||||
parameterList.deleteChildRange(addedParameters[0], addedParameters[addedParameters.length - 1]);
|
||||
for (final PsiNameValuePair addedParameter : addedParameters) {
|
||||
final String name = addedParameter.getName();
|
||||
String name = addedParameter.getName();
|
||||
final PsiAnnotationMemberValue value = addedParameter.getValue();
|
||||
if (name == null || value == null) {
|
||||
if (name == null) {
|
||||
name = "value";
|
||||
}
|
||||
if (value == null) {
|
||||
LOG.error(String.format("Invalid annotation parameter name = %s, value = %s", name, value));
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
// "Add missing annotation parameters - value4, value3, value2, value1" "true"
|
||||
class Test {
|
||||
|
||||
@MyAnnotation(value = "xxx", value4 = , value3 = , value2 = , value1 = )
|
||||
void m() {
|
||||
|
||||
}
|
||||
|
||||
@interface MyAnnotation {
|
||||
String value();
|
||||
String value4();
|
||||
String value3();
|
||||
String value2();
|
||||
String value1();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
// "Add missing annotation parameters - value4, value3, value2, value1" "true"
|
||||
class Test {
|
||||
|
||||
@MyAnnotati<caret>on("xxx")
|
||||
void m() {
|
||||
|
||||
}
|
||||
|
||||
@interface MyAnnotation {
|
||||
String value();
|
||||
String value4();
|
||||
String value3();
|
||||
String value2();
|
||||
String value1();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -36,6 +36,10 @@ public class AddMissingRequiredAnnotationParametersTest extends LightQuickFixTes
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testFewParameters3() {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testFewParametersWithoutOrder() {
|
||||
doTest();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user