# This patch file was generated by NetBeans IDE # Following Index: paths are relative to: /home/ruirx/work/jet-main # This patch can be applied using context Tools: Patch action on respective folder. # It uses platform neutral UTF-8 encoding and \n newlines. # Above lines and this line are ignored by the patching process. Index: refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParametersPlugin.java --- refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParametersPlugin.java Base (BASE) +++ refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParametersPlugin.java Locally Modified (Based On LOCAL) @@ -46,6 +46,7 @@ import com.sun.source.tree.VariableTree; import com.sun.source.util.TreeScanner; import java.io.IOException; +import java.nio.CharBuffer; import java.text.MessageFormat; import java.util.*; import javax.lang.model.element.*; @@ -126,8 +127,10 @@ }; if (scanner.scan(javac.getTrees().getTree(method), s)) { + if (!isParameterBeingRemoved(method, s, paramTable)) { p = createProblem(p, true, NbBundle.getMessage(ChangeParametersPlugin.class, "ERR_NameAlreadyUsed", s)); } + } // check parameter type @@ -150,6 +153,25 @@ return p; } + private boolean isParameterBeingRemoved(ExecutableElement method, String s, ParameterInfo[] paramTable) { + boolean beingRemoved = false; + for (int j = 0; j < method.getParameters().size(); j++) { + VariableElement variable = method.getParameters().get(j); + if (variable.getSimpleName().contentEquals(s)) { + + boolean isInNewList = false; + for (ParameterInfo parameterInfo : paramTable) { + if (parameterInfo.getOriginalIndex() == j) { + isInNewList = true; + } + } + beingRemoved = !isInNewList; + break; + } + } + return beingRemoved; + } + private static String newParMessage(String par) { return new MessageFormat( getString("ERR_newpar")).format(new Object[] { getString(par) } // NOI18N