ProGuard

proguard.optimize
Class WriteOnlyFieldMarker

java.lang.Object
  extended byproguard.optimize.WriteOnlyFieldMarker
All Implemented Interfaces:
CpInfoVisitor, InstructionVisitor

public class WriteOnlyFieldMarker
extends Object
implements InstructionVisitor, CpInfoVisitor

This InstructionVisitor marks all fields that are write-only.


Constructor Summary
WriteOnlyFieldMarker()
           
 
Method Summary
static boolean isWriteOnly(VisitorAccepter visitorAccepter)
           
static void markAsWriteOnly(VisitorAccepter visitorAccepter)
           
 void visitBranchInstruction(ClassFile classFile, MethodInfo methodInfo, CodeAttrInfo codeAttrInfo, int offset, BranchInstruction branchInstruction)
           
 void visitClassCpInfo(ClassFile classFile, ClassCpInfo classCpInfo)
           
 void visitCpInstruction(ClassFile classFile, MethodInfo methodInfo, CodeAttrInfo codeAttrInfo, int offset, CpInstruction cpInstruction)
           
 void visitDoubleCpInfo(ClassFile classFile, DoubleCpInfo doubleCpInfo)
           
 void visitFieldrefCpInfo(ClassFile classFile, FieldrefCpInfo fieldrefCpInfo)
           
 void visitFloatCpInfo(ClassFile classFile, FloatCpInfo floatCpInfo)
           
 void visitIntegerCpInfo(ClassFile classFile, IntegerCpInfo integerCpInfo)
           
 void visitInterfaceMethodrefCpInfo(ClassFile classFile, InterfaceMethodrefCpInfo interfaceMethodrefCpInfo)
           
 void visitLongCpInfo(ClassFile classFile, LongCpInfo longCpInfo)
           
 void visitLookUpSwitchInstruction(ClassFile classFile, MethodInfo methodInfo, CodeAttrInfo codeAttrInfo, int offset, LookUpSwitchInstruction lookUpSwitchInstruction)
           
 void visitMethodrefCpInfo(ClassFile classFile, MethodrefCpInfo methodrefCpInfo)
           
 void visitNameAndTypeCpInfo(ClassFile classFile, NameAndTypeCpInfo nameAndTypeCpInfo)
           
 void visitSimpleInstruction(ClassFile classFile, MethodInfo methodInfo, CodeAttrInfo codeAttrInfo, int offset, SimpleInstruction simpleInstruction)
           
 void visitStringCpInfo(ClassFile classFile, StringCpInfo stringCpInfo)
           
 void visitTableSwitchInstruction(ClassFile classFile, MethodInfo methodInfo, CodeAttrInfo codeAttrInfo, int offset, TableSwitchInstruction tableSwitchInstruction)
           
 void visitUtf8CpInfo(ClassFile classFile, Utf8CpInfo utf8CpInfo)
           
 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

WriteOnlyFieldMarker

public WriteOnlyFieldMarker()
Method Detail

visitSimpleInstruction

public void visitSimpleInstruction(ClassFile classFile,
                                   MethodInfo methodInfo,
                                   CodeAttrInfo codeAttrInfo,
                                   int offset,
                                   SimpleInstruction simpleInstruction)
Specified by:
visitSimpleInstruction 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

visitCpInstruction

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

visitIntegerCpInfo

public void visitIntegerCpInfo(ClassFile classFile,
                               IntegerCpInfo integerCpInfo)
Specified by:
visitIntegerCpInfo in interface CpInfoVisitor

visitLongCpInfo

public void visitLongCpInfo(ClassFile classFile,
                            LongCpInfo longCpInfo)
Specified by:
visitLongCpInfo in interface CpInfoVisitor

visitFloatCpInfo

public void visitFloatCpInfo(ClassFile classFile,
                             FloatCpInfo floatCpInfo)
Specified by:
visitFloatCpInfo in interface CpInfoVisitor

visitDoubleCpInfo

public void visitDoubleCpInfo(ClassFile classFile,
                              DoubleCpInfo doubleCpInfo)
Specified by:
visitDoubleCpInfo in interface CpInfoVisitor

visitStringCpInfo

public void visitStringCpInfo(ClassFile classFile,
                              StringCpInfo stringCpInfo)
Specified by:
visitStringCpInfo in interface CpInfoVisitor

visitUtf8CpInfo

public void visitUtf8CpInfo(ClassFile classFile,
                            Utf8CpInfo utf8CpInfo)
Specified by:
visitUtf8CpInfo in interface CpInfoVisitor

visitInterfaceMethodrefCpInfo

public void visitInterfaceMethodrefCpInfo(ClassFile classFile,
                                          InterfaceMethodrefCpInfo interfaceMethodrefCpInfo)
Specified by:
visitInterfaceMethodrefCpInfo in interface CpInfoVisitor

visitMethodrefCpInfo

public void visitMethodrefCpInfo(ClassFile classFile,
                                 MethodrefCpInfo methodrefCpInfo)
Specified by:
visitMethodrefCpInfo in interface CpInfoVisitor

visitClassCpInfo

public void visitClassCpInfo(ClassFile classFile,
                             ClassCpInfo classCpInfo)
Specified by:
visitClassCpInfo in interface CpInfoVisitor

visitNameAndTypeCpInfo

public void visitNameAndTypeCpInfo(ClassFile classFile,
                                   NameAndTypeCpInfo nameAndTypeCpInfo)
Specified by:
visitNameAndTypeCpInfo in interface CpInfoVisitor

visitFieldrefCpInfo

public void visitFieldrefCpInfo(ClassFile classFile,
                                FieldrefCpInfo fieldrefCpInfo)
Specified by:
visitFieldrefCpInfo in interface CpInfoVisitor

markAsWriteOnly

public static void markAsWriteOnly(VisitorAccepter visitorAccepter)

isWriteOnly

public static boolean isWriteOnly(VisitorAccepter visitorAccepter)

ProGuard