proguard.optimize.evaluation
Class StoringInvocationUnit

java.lang.Object
  extended by proguard.classfile.util.SimplifiedVisitor
      extended by proguard.evaluation.BasicInvocationUnit
          extended by proguard.optimize.evaluation.StoringInvocationUnit
All Implemented Interfaces:
ConstantVisitor, MemberVisitor, InvocationUnit

public class StoringInvocationUnit
extends BasicInvocationUnit

This InvocationUbit stores parameter values and return values with the methods that are invoked.

See Also:
LoadingInvocationUnit

Constructor Summary
StoringInvocationUnit()
           
 
Method Summary
static ReferenceValue getFieldClassValue(Field field)
           
static Value getFieldValue(Field field)
           
static Value getMethodParameterValue(Method method, int parameterIndex)
           
static Value getMethodReturnValue(Method method)
           
protected  void setFieldClassValue(Clazz clazz, RefConstant refConstant, ReferenceValue value)
           
protected  void setFieldValue(Clazz clazz, RefConstant refConstant, Value value)
           
protected  void setMethodParameterValue(Clazz clazz, RefConstant refConstant, int parameterIndex, Value value)
           
protected  void setMethodReturnValue(Clazz clazz, Method method, Value value)
           
 
Methods inherited from class proguard.evaluation.BasicInvocationUnit
enterMethod, exitMethod, getFieldClassValue, getFieldValue, getMethodParameterValue, getMethodReturnValue, invokeMember, visitAnyMethodrefConstant, visitFieldrefConstant, visitLibraryField, visitLibraryMethod, visitProgramField, visitProgramMethod
 
Methods inherited from class proguard.classfile.util.SimplifiedVisitor
visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotationDefaultAttribute, visitAnnotationElementValue, visitAnyAnnotationsAttribute, visitAnyAttribute, visitAnyClass, visitAnyConstant, visitAnyElementValue, visitAnyInstruction, visitAnyMember, visitAnyParameterAnnotationsAttribute, visitAnyRefConstant, visitAnyStackMapFrame, visitAnySwitchInstruction, visitAnyVerificationType, visitArrayElementValue, visitBranchInstruction, visitClassConstant, visitClassElementValue, visitCodeAttribute, visitConstantElementValue, visitConstantInstruction, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDoubleConstant, visitDoubleType, visitEnclosingMethodAttribute, visitEnumConstantElementValue, visitExceptionsAttribute, visitFloatConstant, visitFloatType, visitFullFrame, visitInnerClassesAttribute, visitIntegerConstant, visitIntegerType, visitInterfaceMethodrefConstant, visitLessZeroFrame, visitLibraryClass, visitLibraryMember, visitLineNumberTableAttribute, visitLocalVariableTableAttribute, visitLocalVariableTypeTableAttribute, visitLongConstant, visitLongType, visitLookUpSwitchInstruction, visitMethodrefConstant, visitMoreZeroFrame, visitNameAndTypeConstant, visitNullType, visitObjectType, visitProgramClass, visitProgramMember, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitSameOneFrame, visitSameZeroFrame, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSimpleInstruction, visitSourceDirAttribute, visitSourceFileAttribute, visitStackDoubleType, visitStackFloatType, visitStackIntegerType, visitStackLongType, visitStackMapAttribute, visitStackMapTableAttribute, visitStackNullType, visitStackObjectType, visitStackTopType, visitStackUninitializedThisType, visitStackUninitializedType, visitStringConstant, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitTableSwitchInstruction, visitTopType, visitUninitializedThisType, visitUninitializedType, visitUnknownAttribute, visitUtf8Constant, visitVariableInstruction, visitVariablesDoubleType, visitVariablesFloatType, visitVariablesIntegerType, visitVariablesLongType, visitVariablesNullType, visitVariablesObjectType, visitVariablesTopType, visitVariablesUninitializedThisType, visitVariablesUninitializedType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface proguard.classfile.constant.visitor.ConstantVisitor
visitClassConstant, visitDoubleConstant, visitFloatConstant, visitIntegerConstant, visitInterfaceMethodrefConstant, visitLongConstant, visitMethodrefConstant, visitNameAndTypeConstant, visitStringConstant, visitUtf8Constant
 

Constructor Detail

StoringInvocationUnit

public StoringInvocationUnit()
Method Detail

setFieldClassValue

protected void setFieldClassValue(Clazz clazz,
                                  RefConstant refConstant,
                                  ReferenceValue value)
Overrides:
setFieldClassValue in class BasicInvocationUnit

setFieldValue

protected void setFieldValue(Clazz clazz,
                             RefConstant refConstant,
                             Value value)
Overrides:
setFieldValue in class BasicInvocationUnit

setMethodParameterValue

protected void setMethodParameterValue(Clazz clazz,
                                       RefConstant refConstant,
                                       int parameterIndex,
                                       Value value)
Overrides:
setMethodParameterValue in class BasicInvocationUnit

setMethodReturnValue

protected void setMethodReturnValue(Clazz clazz,
                                    Method method,
                                    Value value)
Overrides:
setMethodReturnValue in class BasicInvocationUnit

getFieldClassValue

public static ReferenceValue getFieldClassValue(Field field)

getFieldValue

public static Value getFieldValue(Field field)

getMethodParameterValue

public static Value getMethodParameterValue(Method method,
                                            int parameterIndex)

getMethodReturnValue

public static Value getMethodReturnValue(Method method)