if (declaringClass.isNestedType() && !declaringClass.isStatic()) {
// TODO(tobyr) Do we have to do the equivalent for binary types here
// or will this just fall out correctly?
// add synthetic args for outer this
NestedTypeBinding nestedBinding = (NestedTypeBinding) declaringClass;
if (nestedBinding.enclosingInstances != null) {
for (int i = 0; i < nestedBinding.enclosingInstances.length; ++i) {
SyntheticArgumentBinding arg = nestedBinding.enclosingInstances[i];
String argName = String.valueOf(arg.name);
if (alreadyNamedVariables.contains(argName)) {
argName += "_" + i;
}
createParameter(arg, argName, newCtor);
alreadyNamedVariables.add(argName);
}
}
}
// user args
if (decl == null) {
mapParameters(newCtor, b, info);
} else {
mapParameters(newCtor, decl, info);
}
// original params are now frozen
addThrownExceptions(b, newCtor);
info.addCorrelation(info.getCorrelator().by(newCtor));
if (declaringClass.isNestedType() && !declaringClass.isStatic()) {
// add synthetic args for locals
NestedTypeBinding nestedBinding = (NestedTypeBinding) declaringClass;
// add synthetic args for outer this and locals
if (nestedBinding.outerLocalVariables != null) {
for (int i = 0; i < nestedBinding.outerLocalVariables.length; ++i) {
SyntheticArgumentBinding arg = nestedBinding.outerLocalVariables[i];
String argName = String.valueOf(arg.name);