mn.instructions.add(mEnd);
}
List<LocalVariableNode> paramsAndThis = new ArrayList<LocalVariableNode>();
for (Object o : mn.localVariables) {
LocalVariableNode lvn = (LocalVariableNode) o;
if (lvn.start.getLabel().equals(mStartl)) {
paramsAndThis.add(lvn);
}
}
int purrSecretIndex = 0;
for (LocalVariableNode lvn : paramsAndThis) {
purrSecretIndex += Type.getType(lvn.desc).getSize();
}
Set<String> lvNames = new HashSet<String>();
for (Object o : mn.localVariables) {
LocalVariableNode lvn = (LocalVariableNode) o;
if (lvn.index >= purrSecretIndex) {
lvn.index = lvn.index + 1;
}
lvNames.add(lvn.name);
}
String purrSecretUniqueName = makeUnique("_purrSecret", lvNames);
mn.localVariables.add(paramsAndThis.size(), new LocalVariableNode(
purrSecretUniqueName, OBJECT_DESC, null, mStart, mEnd,
purrSecretIndex));
mn.maxLocals += 1;
for (Iterator<?> i = mn.instructions.iterator(); i.hasNext();) {