mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-05-06 05:10:22 +07:00
try our best to find fields corresponding to params (IDEA-89773)
This commit is contained in:
@@ -266,7 +266,17 @@ public class BindFieldsFromParametersAction extends BaseIntentionAction implemen
|
||||
String[] names = suggestedNameInfo.names;
|
||||
|
||||
final boolean isFinal = !isMethodStatic && method.isConstructor();
|
||||
final String fieldName = usedNames.add(names[0]) ? names[0] : JavaCodeStyleManager.getInstance(project).suggestUniqueVariableName(names[0], myParameter, true);
|
||||
String name = names[0];
|
||||
if (targetClass != null) {
|
||||
for (String curName : names) {
|
||||
if (!usedNames.contains(curName) && targetClass.findFieldByName(curName, false) != null) {
|
||||
name = curName;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
final String fieldName = usedNames.add(name) ? name
|
||||
: JavaCodeStyleManager.getInstance(project).suggestUniqueVariableName(name, myParameter, true);
|
||||
|
||||
ApplicationManager.getApplication().runWriteAction(new Runnable() {
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
// "Bind Method Parameters to Fields" "true"
|
||||
|
||||
class A{
|
||||
private final String myP;
|
||||
private final String myLongParameterName;
|
||||
private final String myName;
|
||||
|
||||
void f(String p, String longParameterName, String shortParameterName){
|
||||
myP = p;
|
||||
myLongParameterName = longParameterName;
|
||||
myName = shortParameterName;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
// "Bind Method Parameters to Fields" "true"
|
||||
|
||||
class A{
|
||||
private final String myP;
|
||||
private final String myLongParameterName;
|
||||
private final String myName;
|
||||
|
||||
void <caret>f(String p, String longParameterName, String shortParameterName){
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user