ProGuard

proguard.optimize.peephole
Class NopRemover

java.lang.Object
  extended byproguard.optimize.peephole.NopRemover
All Implemented Interfaces:
InstructionVisitor

public class NopRemover
extends Object
implements InstructionVisitor

This InstructionVisitor removes all nop instructions that it encounters.


Constructor Summary
NopRemover(CodeAttrInfoEditor codeAttrInfoEditor)
          Creates a new NopRemover.
 
Method Summary
 void visitBranchInstruction(ClassFile classFile, MethodInfo methodInfo, CodeAttrInfo codeAttrInfo, int offset, BranchInstruction branchInstruction)
           
 void visitCpInstruction(ClassFile classFile, MethodInfo methodInfo, CodeAttrInfo codeAttrInfo, int offset, CpInstruction cpInstruction)
           
 void visitLookUpSwitchInstruction(ClassFile classFile, MethodInfo methodInfo, CodeAttrInfo codeAttrInfo, int offset, LookUpSwitchInstruction lookUpSwitchInstruction)
           
 void visitSimpleInstruction(ClassFile classFile, MethodInfo methodInfo, CodeAttrInfo codeAttrInfo, int offset, SimpleInstruction simpleInstruction)
           
 void visitTableSwitchInstruction(ClassFile classFile, MethodInfo methodInfo, CodeAttrInfo codeAttrInfo, int offset, TableSwitchInstruction tableSwitchInstruction)
           
 void visitVariableInstruction(ClassFile classFile, MethodInfo methodInfo, CodeAttrInfo codeAttrInfo, int offset, VariableInstruction variableInstruction)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NopRemover

public NopRemover(CodeAttrInfoEditor codeAttrInfoEditor)
Creates a new NopRemover.

Parameters:
codeAttrInfoEditor - a code editor that can be used for accumulating changes to the code.
Method Detail

visitCpInstruction

public void visitCpInstruction(ClassFile classFile,
                               MethodInfo methodInfo,
                               CodeAttrInfo codeAttrInfo,
                               int offset,
                               CpInstruction cpInstruction)
Specified by:
visitCpInstruction in interface InstructionVisitor

visitVariableInstruction

public void visitVariableInstruction(ClassFile classFile,
                                     MethodInfo methodInfo,
                                     CodeAttrInfo codeAttrInfo,
                                     int offset,
                                     VariableInstruction variableInstruction)
Specified by:
visitVariableInstruction in interface InstructionVisitor

visitBranchInstruction

public void visitBranchInstruction(ClassFile classFile,
                                   MethodInfo methodInfo,
                                   CodeAttrInfo codeAttrInfo,
                                   int offset,
                                   BranchInstruction branchInstruction)
Specified by:
visitBranchInstruction in interface InstructionVisitor

visitTableSwitchInstruction

public void visitTableSwitchInstruction(ClassFile classFile,
                                        MethodInfo methodInfo,
                                        CodeAttrInfo codeAttrInfo,
                                        int offset,
                                        TableSwitchInstruction tableSwitchInstruction)
Specified by:
visitTableSwitchInstruction in interface InstructionVisitor

visitLookUpSwitchInstruction

public void visitLookUpSwitchInstruction(ClassFile classFile,
                                         MethodInfo methodInfo,
                                         CodeAttrInfo codeAttrInfo,
                                         int offset,
                                         LookUpSwitchInstruction lookUpSwitchInstruction)
Specified by:
visitLookUpSwitchInstruction in interface InstructionVisitor

visitSimpleInstruction

public void visitSimpleInstruction(ClassFile classFile,
                                   MethodInfo methodInfo,
                                   CodeAttrInfo codeAttrInfo,
                                   int offset,
                                   SimpleInstruction simpleInstruction)
Specified by:
visitSimpleInstruction in interface InstructionVisitor

ProGuard