Community
Participate
Working Groups
Using this team: public team class MyTeam { protected class R playedBy MyBase { } public void process(MyBase as R argument) { R x = argument; printRole(argument); printRole(x); } void printRole(R r) { } } I tried to use the Change Method Signature refactoring to rename 'argument' to 'arg'. I was greeted with: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:604) at java.util.ArrayList.get(ArrayList.java:382) at org.eclipse.jdt.core.dom.ASTNode$NodeList.get(ASTNode.java:1353) at org.eclipse.jdt.internal.corext.refactoring.TypeContextChecker$MethodTypesChecker.resolveBindings(TypeContextChecker.java:177) at org.eclipse.jdt.internal.corext.refactoring.TypeContextChecker$MethodTypesChecker.checkAndResolveMethodTypes(TypeContextChecker.java:126) at org.eclipse.jdt.internal.corext.refactoring.TypeContextChecker.checkAndResolveMethodTypes(TypeContextChecker.java:463) at org.eclipse.jdt.internal.corext.refactoring.structure.ChangeSignatureProcessor.checkSignature(ChangeSignatureProcessor.java:401) at org.eclipse.jdt.internal.corext.refactoring.structure.ChangeSignatureProcessor.checkFinalConditions(ChangeSignatureProcessor.java:815)
See bug 394037 for initial fixes in this area. Not sure if this bug is a regression or a different problem.