private static boolean doCreate( Project project, Editor editor, PsiParameter[] parameters, SmartPsiElementPointer constructorPointer, ParameterInfoImpl[] parameterInfos, HashMap<PsiField, String> fields) { PsiMethod constructor = (PsiMethod) constructorPointer.getElement(); assert constructor != null; PsiParameter[] newParameters = constructor.getParameterList().getParameters(); if (newParameters == parameters) return false; // user must have canceled dialog boolean created = false; // do not introduce assignment in chanined constructor if (JavaHighlightUtil.getChainedConstructors(constructor) == null) { for (PsiField field : fields.keySet()) { final String defaultParamName = fields.get(field); PsiParameter parameter = findParamByName(defaultParamName, field.getType(), newParameters, parameterInfos); if (parameter == null) { continue; } notNull(project, field, parameter); AssignFieldFromParameterAction.addFieldAssignmentStatement( project, field, parameter, editor); created = true; } } return created; }
@Override @NotNull public String getText() { final String shortText = getShortText(); if (shortText != null) return shortText; return QuickFixBundle.message( "change.method.signature.from.usage.text", JavaHighlightUtil.formatMethod(myTargetMethod), myTargetMethod.getName(), formatTypesList(myNewParametersInfo, myContext)); }