public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Avoid doing any work if nothing is changing anyway. if (codeAttributeEditor != null) { // Apply the collected expansions. codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); // Clear the modifications for the next run. codeAttributeEditor = null; } }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Reset the code changes. codeAttributeEditor.reset(codeAttribute.u4codeLength); // Fix any duplicate constructor invocations. codeAttribute.instructionsAccept(clazz, method, this); // Apply all accumulated changes to the code. codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Reset the code attribute editor. codeAttributeEditor.reset(codeAttribute.u4codeLength); // Remap the variables of the instructions. codeAttribute.instructionsAccept(clazz, method, this); // Apply the code atribute editor. codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Reset the code attribute editor. codeAttributeEditor.reset(codeAttribute.u4codeLength); // Remap the variables of the instructions. codeAttribute.instructionsAccept(clazz, method, this); // Apply the code atribute editor. codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Set up the code attribute editor. codeAttributeEditor.reset(codeAttribute.u4codeLength); // Find the peephole changes. codeAttribute.instructionsAccept(clazz, method, instructionSequenceReplacer); // Apply the peephole changes. codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); } }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Set up the code attribute editor. codeAttributeEditor.reset(codeAttribute.u4codeLength); // Find the peephole changes. codeAttribute.instructionsAccept(clazz, method, instructionSequenceReplacer); // Apply the peephole changes. codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); } }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Reset the code changes. codeAttributeEditor.reset(codeAttribute.u4codeLength); // Fix any duplicate constructor invocations. codeAttribute.instructionsAccept(clazz, method, this); // Apply all accumulated changes to the code. codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Reset the code attribute editor. codeAttributeEditor.reset(codeAttribute.u4codeLength); // Remap the variables of the instructions. codeAttribute.instructionsAccept(clazz, method, this); // Apply the code atribute editor. codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Set up the code attribute editor. codeAttributeEditor.reset(codeAttribute.u4codeLength); // Find the peephole changes. codeAttribute.instructionsAccept(clazz, method, instructionSequenceReplacer); // Apply the peephole changes. codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); } }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Initially, the code attribute editor doesn't contain any changes. codeAttributeEditor.reset(codeAttribute.u4codeLength); // Remap the variables of the instructions. codeAttribute.instructionsAccept(clazz, method, this); // Apply the code atribute editor. codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); // Remap the variables of the attributes. codeAttribute.attributesAccept(clazz, method, this); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { codeAttributeEditor.reset(codeAttribute.u4codeLength); codeAttribute.instructionsAccept(clazz, method, this); if (codeAttributeEditor.isModified()) { codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); classModified = true; } }
@Override public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { codeAttributeEditor.reset(codeAttribute.u4codeLength); codeAttribute.instructionsAccept(clazz, method, this); if (codeAttributeEditor.isModified()) { codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); } }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { codeAttributeEditor.reset(codeAttribute.u4codeLength); codeAttribute.instructionsAccept(clazz, method, this); if (codeAttributeEditor.isModified()) { codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); classModified = true; } }
@Override public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { codeAttributeEditor.reset(codeAttribute.u4codeLength); codeAttribute.instructionsAccept(clazz, method, this); if (codeAttributeEditor.isModified()) { codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); } }
@Override public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { codeAttributeEditor.reset(codeAttribute.u4codeLength); codeAttribute.instructionsAccept(clazz, method, this); if (codeAttributeEditor.isModified()) { codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); } }
public void visitCodeAttribute0(Clazz clazz, Method method, CodeAttribute codeAttribute) { if (DEBUG) { System.out.println("UnreachableCodeRemover: "+clazz.getName()+"."+method.getName(clazz)+method.getDescriptor(clazz)); } reachableCodeMarker.visitCodeAttribute(clazz, method, codeAttribute); codeAttributeEditor.reset(codeAttribute.u4codeLength); codeAttribute.instructionsAccept(clazz, method, this); codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { CodeAttributeEditor codeAttributeEditor = new CodeAttributeEditor(); ((ProgramMethod) method).attributesAccept(programClass, new CodeAttributeEditorResetter(codeAttributeEditor)); codeAttributeEditor.insertBeforeOffset(0, instructions); codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); }
public void visitCodeAttribute0(Clazz clazz, Method method, CodeAttribute codeAttribute) { if (DEBUG) { System.out.println("UnreachableCodeRemover: "+clazz.getName()+"."+method.getName(clazz)+method.getDescriptor(clazz)); } reachableCodeMarker.visitCodeAttribute(clazz, method, codeAttribute); codeAttributeEditor.reset(codeAttribute.u4codeLength); codeAttribute.instructionsAccept(clazz, method, this); codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); }
public void visitCodeAttribute0(Clazz clazz, Method method, CodeAttribute codeAttribute) { if (DEBUG) { System.out.println("UnreachableCodeRemover: "+clazz.getName()+"."+method.getName(clazz)+method.getDescriptor(clazz)); } reachableCodeMarker.visitCodeAttribute(clazz, method, codeAttribute); codeAttributeEditor.reset(codeAttribute.u4codeLength); codeAttribute.instructionsAccept(clazz, method, this); codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { CodeAttributeEditor codeAttributeEditor = new CodeAttributeEditor(); ((ProgramMethod) method).attributesAccept(programClass, new CodeAttributeEditorResetter(codeAttributeEditor)); codeAttributeEditor.insertBeforeOffset(0, instructions); codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); }