public abstract class SimplifiedInvocationUnit extends SimplifiedVisitor implements InvocationUnit, ParameterVisitor, ConstantVisitor
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
isLoad |
protected boolean |
isStatic |
protected Stack |
stack |
| Constructor and Description |
|---|
SimplifiedInvocationUnit() |
| Modifier and Type | Method and Description |
|---|---|
void |
enterExceptionHandler(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
int catchType,
Stack stack)
Sets up the given stack for entering the given exception handler.
|
void |
enterMethod(Clazz clazz,
Method method,
Variables variables)
Sets up the given variables for entering the given method.
|
void |
exitMethod(Clazz clazz,
Method method,
Value returnValue)
Exits the given method with the given return value.
|
abstract Value |
getExceptionValue(Clazz clazz,
ClassConstant catchClassConstant)
Returns the value of the specified exception.
|
abstract Value |
getFieldClassValue(Clazz clazz,
RefConstant refConstant,
String type)
Returns the class though which the specified field is accessed.
|
abstract Value |
getFieldValue(Clazz clazz,
RefConstant refConstant,
String type)
Returns the value of the specified field.
|
abstract Value |
getMethodParameterValue(Clazz clazz,
Method method,
int parameterIndex,
String type,
Clazz referencedClass)
Returns the value of the specified method parameter.
|
abstract Value |
getMethodReturnValue(Clazz clazz,
InvokeDynamicConstant invokeDynamicConstant,
String type)
Returns the return value of the specified method.
|
abstract Value |
getMethodReturnValue(Clazz clazz,
RefConstant refConstant,
String type)
Returns the return value of the specified method.
|
void |
invokeMember(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
ConstantInstruction constantInstruction,
Stack stack)
Updates the given stack corresponding to the execution of the given
field or method reference instruction.
|
abstract void |
setFieldClassValue(Clazz clazz,
RefConstant refConstant,
ReferenceValue value)
Sets the class through which the specified field is accessed.
|
abstract void |
setFieldValue(Clazz clazz,
RefConstant refConstant,
Value value)
Sets the value of the specified field.
|
abstract void |
setMethodParameterValue(Clazz clazz,
RefConstant refConstant,
int parameterIndex,
Value value)
Sets the value of the specified method parameter.
|
abstract void |
setMethodReturnValue(Clazz clazz,
Method method,
Value value)
Sets the return value of the specified method.
|
void |
visitAnyMethodrefConstant(Clazz clazz,
RefConstant methodrefConstant)
Visits any type of method RefConstant of the given class.
|
void |
visitFieldrefConstant(Clazz clazz,
FieldrefConstant fieldrefConstant) |
void |
visitInvokeDynamicConstant(Clazz clazz,
InvokeDynamicConstant invokeDynamicConstant) |
void |
visitParameter(Clazz clazz,
Member member,
int parameterIndex,
int parameterCount,
int parameterOffset,
int parameterSize,
String parameterType,
Clazz referencedClass)
Visits the given parameter.
|
visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotationDefaultAttribute, visitAnnotationElementValue, visitAnyAnnotationsAttribute, visitAnyAttribute, visitAnyClass, visitAnyConstant, visitAnyElementValue, visitAnyInstruction, visitAnyMember, visitAnyParameterAnnotationsAttribute, visitAnyPrimitiveArrayConstant, visitAnyPrimitiveArrayConstantElement, visitAnyRefConstant, visitAnyStackMapFrame, visitAnySwitchInstruction, visitAnyTargetInfo, visitAnyTypeAnnotationsAttribute, visitAnyVerificationType, visitArrayElementValue, visitBooleanArrayConstant, visitBooleanArrayConstantElement, visitBootstrapMethodsAttribute, visitBranchInstruction, visitByteArrayConstant, visitByteArrayConstantElement, visitCatchTargetInfo, visitCharArrayConstant, visitCharArrayConstantElement, visitClassConstant, visitClassElementValue, visitCodeAttribute, visitConstantElementValue, visitConstantInstruction, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDoubleArrayConstant, visitDoubleArrayConstantElement, visitDoubleConstant, visitDoubleType, visitDynamicConstant, visitEmptyTargetInfo, visitEmptyTargetInfo, visitEmptyTargetInfo, visitEnclosingMethodAttribute, visitEnumConstantElementValue, visitExceptionsAttribute, visitFloatArrayConstant, visitFloatArrayConstantElement, visitFloatConstant, visitFloatType, visitFormalParameterTargetInfo, visitFullFrame, visitInnerClassesAttribute, visitIntArrayConstant, visitIntArrayConstantElement, visitIntegerConstant, visitIntegerType, visitInterfaceMethodrefConstant, visitLessZeroFrame, visitLibraryClass, visitLibraryField, visitLibraryMember, visitLibraryMethod, visitLineNumberTableAttribute, visitLocalVariableTableAttribute, visitLocalVariableTargetInfo, visitLocalVariableTypeTableAttribute, visitLongArrayConstant, visitLongArrayConstantElement, visitLongConstant, visitLongType, visitLookUpSwitchInstruction, visitMethodHandleConstant, visitMethodParametersAttribute, visitMethodrefConstant, visitMethodTypeConstant, visitModuleAttribute, visitModuleConstant, visitModuleMainClassAttribute, visitModulePackagesAttribute, visitMoreZeroFrame, visitNameAndTypeConstant, visitNestHostAttribute, visitNestMembersAttribute, visitNullType, visitObjectType, visitOffsetTargetInfo, visitPackageConstant, visitPrimitiveArrayConstant, visitProgramClass, visitProgramField, visitProgramMember, visitProgramMethod, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitSameOneFrame, visitSameZeroFrame, visitShortArrayConstant, visitShortArrayConstantElement, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSimpleInstruction, visitSourceDirAttribute, visitSourceFileAttribute, visitStackDoubleType, visitStackFloatType, visitStackIntegerType, visitStackLongType, visitStackMapAttribute, visitStackMapTableAttribute, visitStackNullType, visitStackObjectType, visitStackTopType, visitStackUninitializedThisType, visitStackUninitializedType, visitStringConstant, visitSuperTypeTargetInfo, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitTableSwitchInstruction, visitThrowsTargetInfo, visitTopType, visitTypeAnnotation, visitTypeAnnotation, visitTypeAnnotation, visitTypeAnnotation, visitTypeAnnotation, visitTypeAnnotation, visitTypeArgumentTargetInfo, visitTypeParameterBoundTargetInfo, visitTypeParameterBoundTargetInfo, visitTypeParameterBoundTargetInfo, visitTypeParameterBoundTargetInfo, visitTypeParameterTargetInfo, visitTypeParameterTargetInfo, visitTypePathInfo, visitTypePathInfo, visitTypePathInfo, visitTypePathInfo, visitTypePathInfo, visitUninitializedThisType, visitUninitializedType, visitUnknownAttribute, visitUtf8Constant, visitVariableInstruction, visitVariablesDoubleType, visitVariablesFloatType, visitVariablesIntegerType, visitVariablesLongType, visitVariablesNullType, visitVariablesObjectType, visitVariablesTopType, visitVariablesUninitializedThisType, visitVariablesUninitializedTypeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitvisitClassConstant, visitDoubleConstant, visitDynamicConstant, visitFloatConstant, visitIntegerConstant, visitInterfaceMethodrefConstant, visitLongConstant, visitMethodHandleConstant, visitMethodrefConstant, visitMethodTypeConstant, visitModuleConstant, visitNameAndTypeConstant, visitPackageConstant, visitPrimitiveArrayConstant, visitStringConstant, visitUtf8Constantprotected boolean isStatic
protected boolean isLoad
protected Stack stack
public void enterMethod(Clazz clazz, Method method, Variables variables)
InvocationUnitenterMethod in interface InvocationUnitpublic void visitParameter(Clazz clazz, Member member, int parameterIndex, int parameterCount, int parameterOffset, int parameterSize, String parameterType, Clazz referencedClass)
ParameterVisitorvisitParameter in interface ParameterVisitorclazz - the class of the method.member - the field or method of the parameter.parameterIndex - the index of the parameter.parameterCount - the total number of parameters.parameterOffset - the offset of the parameter, accounting for
longs and doubles taking up two entries.parameterSize - the total size of the parameters, accounting for
longs and doubles taking up two entries.parameterType - the parameter type.referencedClass - the class contained in the parameter type, if any.public void exitMethod(Clazz clazz, Method method, Value returnValue)
InvocationUnitexitMethod in interface InvocationUnitpublic void enterExceptionHandler(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int catchType, Stack stack)
InvocationUnitenterExceptionHandler in interface InvocationUnitpublic void invokeMember(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, ConstantInstruction constantInstruction, Stack stack)
InvocationUnitinvokeMember in interface InvocationUnitpublic void visitFieldrefConstant(Clazz clazz, FieldrefConstant fieldrefConstant)
visitFieldrefConstant in interface ConstantVisitorvisitFieldrefConstant in class SimplifiedVisitorpublic void visitAnyMethodrefConstant(Clazz clazz, RefConstant methodrefConstant)
SimplifiedVisitorvisitAnyMethodrefConstant in class SimplifiedVisitorpublic void visitInvokeDynamicConstant(Clazz clazz, InvokeDynamicConstant invokeDynamicConstant)
visitInvokeDynamicConstant in interface ConstantVisitorvisitInvokeDynamicConstant in class SimplifiedVisitorpublic abstract Value getExceptionValue(Clazz clazz, ClassConstant catchClassConstant)
public abstract void setFieldClassValue(Clazz clazz, RefConstant refConstant, ReferenceValue value)
public abstract Value getFieldClassValue(Clazz clazz, RefConstant refConstant, String type)
public abstract void setFieldValue(Clazz clazz, RefConstant refConstant, Value value)
public abstract Value getFieldValue(Clazz clazz, RefConstant refConstant, String type)
public abstract void setMethodParameterValue(Clazz clazz, RefConstant refConstant, int parameterIndex, Value value)
public abstract Value getMethodParameterValue(Clazz clazz, Method method, int parameterIndex, String type, Clazz referencedClass)
public abstract void setMethodReturnValue(Clazz clazz, Method method, Value value)
public abstract Value getMethodReturnValue(Clazz clazz, RefConstant refConstant, String type)
public abstract Value getMethodReturnValue(Clazz clazz, InvokeDynamicConstant invokeDynamicConstant, String type)
Copyright © 2019. All rights reserved.