public class BasicInvocationUnit extends SimplifiedInvocationUnit implements InvocationUnit, MemberVisitor
InvocationUnit sets up the variables for entering a method,
and it updates the stack for the invocation of a class member,
using simple values.| Modifier and Type | Field and Description |
|---|---|
protected ValueFactory |
valueFactory |
| Constructor and Description |
|---|
BasicInvocationUnit(ValueFactory valueFactory)
Creates a new BasicInvocationUnit with the given value factory.
|
| Modifier and Type | Method and Description |
|---|---|
Value |
getExceptionValue(Clazz clazz,
ClassConstant catchClassConstant)
Returns the value of the specified exception.
|
Value |
getFieldClassValue(Clazz clazz,
FieldrefConstant fieldrefConstant,
java.lang.String type)
Returns the class though which the specified field is accessed.
|
Value |
getFieldValue(Clazz clazz,
FieldrefConstant fieldrefConstant,
java.lang.String type)
Returns the value of the specified field.
|
Value |
getMethodParameterValue(Clazz clazz,
Method method,
int parameterIndex,
java.lang.String type,
Clazz referencedClass)
Returns the value of the specified method parameter.
|
Value |
getMethodReturnValue(Clazz clazz,
AnyMethodrefConstant anyMethodrefConstant,
java.lang.String type)
Returns the return value of the specified method.
|
Value |
getMethodReturnValue(Clazz clazz,
InvokeDynamicConstant invokeDynamicConstant,
java.lang.String type)
Returns the return value of the specified method.
|
void |
setFieldClassValue(Clazz clazz,
FieldrefConstant fieldrefConstant,
ReferenceValue value)
Sets the class through which the specified field is accessed.
|
void |
setFieldValue(Clazz clazz,
FieldrefConstant fieldrefConstant,
Value value)
Sets the value of the specified field.
|
void |
setMethodParameterValue(Clazz clazz,
AnyMethodrefConstant anyMethodrefConstant,
int parameterIndex,
Value value)
Sets the value of the specified method parameter.
|
void |
setMethodReturnValue(Clazz clazz,
Method method,
Value value)
Sets the return value of the specified method.
|
void |
visitLibraryField(LibraryClass programClass,
LibraryField libraryField) |
void |
visitLibraryMethod(LibraryClass libraryClass,
LibraryMethod libraryMethod) |
void |
visitProgramField(ProgramClass programClass,
ProgramField programField) |
void |
visitProgramMethod(ProgramClass programClass,
ProgramMethod programMethod) |
enterExceptionHandler, enterMethod, exitMethod, invokeMember, methodMayHaveSideEffects, visitAnyMethodrefConstant, visitFieldrefConstant, visitInvokeDynamicConstant, visitParameterclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitenterExceptionHandler, enterMethod, exitMethod, invokeMembervisitAnyMember, visitLibraryMember, visitProgramMembervisitAnyConstant, visitAnyRefConstant, visitClassConstant, visitDoubleConstant, visitDynamicConstant, visitFloatConstant, visitIntegerConstant, visitInterfaceMethodrefConstant, visitLongConstant, visitMethodHandleConstant, visitMethodrefConstant, visitMethodTypeConstant, visitModuleConstant, visitNameAndTypeConstant, visitPackageConstant, visitPrimitiveArrayConstant, visitStringConstant, visitUtf8Constantprotected final ValueFactory valueFactory
public BasicInvocationUnit(ValueFactory valueFactory)
public Value getExceptionValue(Clazz clazz, ClassConstant catchClassConstant)
SimplifiedInvocationUnitgetExceptionValue in class SimplifiedInvocationUnitpublic void setFieldClassValue(Clazz clazz, FieldrefConstant fieldrefConstant, ReferenceValue value)
SimplifiedInvocationUnitsetFieldClassValue in class SimplifiedInvocationUnitpublic Value getFieldClassValue(Clazz clazz, FieldrefConstant fieldrefConstant, java.lang.String type)
SimplifiedInvocationUnitgetFieldClassValue in class SimplifiedInvocationUnitpublic void setFieldValue(Clazz clazz, FieldrefConstant fieldrefConstant, Value value)
SimplifiedInvocationUnitsetFieldValue in class SimplifiedInvocationUnitpublic Value getFieldValue(Clazz clazz, FieldrefConstant fieldrefConstant, java.lang.String type)
SimplifiedInvocationUnitgetFieldValue in class SimplifiedInvocationUnitpublic void setMethodParameterValue(Clazz clazz, AnyMethodrefConstant anyMethodrefConstant, int parameterIndex, Value value)
SimplifiedInvocationUnitsetMethodParameterValue in class SimplifiedInvocationUnitpublic Value getMethodParameterValue(Clazz clazz, Method method, int parameterIndex, java.lang.String type, Clazz referencedClass)
SimplifiedInvocationUnitgetMethodParameterValue in class SimplifiedInvocationUnitpublic void setMethodReturnValue(Clazz clazz, Method method, Value value)
SimplifiedInvocationUnitsetMethodReturnValue in class SimplifiedInvocationUnitpublic Value getMethodReturnValue(Clazz clazz, AnyMethodrefConstant anyMethodrefConstant, java.lang.String type)
SimplifiedInvocationUnitgetMethodReturnValue in class SimplifiedInvocationUnitpublic Value getMethodReturnValue(Clazz clazz, InvokeDynamicConstant invokeDynamicConstant, java.lang.String type)
getMethodReturnValue in class SimplifiedInvocationUnitpublic void visitProgramField(ProgramClass programClass, ProgramField programField)
visitProgramField in interface MemberVisitorpublic void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod)
visitProgramMethod in interface MemberVisitorpublic void visitLibraryField(LibraryClass programClass, LibraryField libraryField)
visitLibraryField in interface MemberVisitorpublic void visitLibraryMethod(LibraryClass libraryClass, LibraryMethod libraryMethod)
visitLibraryMethod in interface MemberVisitor