InstructionBuilder |
InstructionBuilder.arrayLength() |
Expects the top object on the stack to be an array.
|
InstructionBuilder |
InstructionBuilder.boxPrimitive(String typeName) |
If the type name is a primitive type, adds code to box the type into the equivalent wrapper type, using static
methods on the wrapper type.
|
InstructionBuilder |
InstructionBuilder.castOrUnbox(String typeName) |
Casts the object on top of the stack to the indicated type.
|
InstructionBuilder |
InstructionBuilder.checkcast(Class clazz) |
|
InstructionBuilder |
InstructionBuilder.checkcast(String className) |
Adds a check that the object on top of the stack is assignable to the indicated class.
|
InstructionBuilder |
InstructionBuilder.compareSpecial(String typeName) |
Special comparison logic for primitive float, double and long.
|
InstructionBuilder |
InstructionBuilder.doWhile(Condition condition,
WhileCallback callback) |
Implements a simple loop based on a condition.
|
InstructionBuilder |
InstructionBuilder.dupe() |
Duplicates the top object on the stack.
|
InstructionBuilder |
InstructionBuilder.dupe(int depth) |
Duplicates the top object on the stack, placing the result at some depth.
|
InstructionBuilder |
InstructionBuilder.dupeWide() |
Duplicates a wide value (a primitive long or double).
|
InstructionBuilder |
InstructionBuilder.getField(String className,
String fieldName,
Class fieldType) |
Loads a field onto the stack.
|
InstructionBuilder |
InstructionBuilder.getField(String className,
String fieldName,
String typeName) |
Loads an instance field onto the stack.
|
InstructionBuilder |
InstructionBuilder.getField(PlasticField field) |
Loads an instance or static field onto the stack.
|
InstructionBuilder |
InstructionBuilder.getStaticField(String className,
String fieldName,
Class fieldType) |
Gets a static field; does not consume a value from the stack, but pushes the fields' value onto the stack.
|
InstructionBuilder |
InstructionBuilder.getStaticField(String className,
String fieldName,
String typeName) |
Gets a static field; does not consume a value from the stack, but pushes the fields' value onto the stack.
|
InstructionBuilder |
InstructionBuilder.increment(LocalVariable variable) |
Increments a local integer variable.
|
InstructionBuilder |
InstructionBuilder.invoke(Class clazz,
Class returnType,
String methodName,
Class... argumentTypes) |
Automatically invokes an interface or virtual method.
|
InstructionBuilder |
InstructionBuilder.invoke(Method method) |
Automatically invokes an interface or virtual method.
|
InstructionBuilder |
InstructionBuilder.invokeConstructor(Class clazz,
Class... argumentTypes) |
|
InstructionBuilder |
InstructionBuilder.invokeConstructor(String className,
String... argumentTypes) |
Invokes a constructor on a class.
|
InstructionBuilder |
InstructionBuilder.invokeInterface(String interfaceName,
String returnType,
String methodName,
String... argumentTypes) |
Invokes a standard virtual method.
|
InstructionBuilder |
InstructionBuilder.invokeSpecial(String containingClassName,
MethodDescription description) |
Invokes an instance method of a base class, or a private method of a class, using the target object
and parameters already on the stack.
|
InstructionBuilder |
InstructionBuilder.invokeStatic(Class clazz,
Class returnType,
String methodName,
Class... argumentTypes) |
Invokes a static method of a class.
|
InstructionBuilder |
InstructionBuilder.invokeVirtual(String className,
String returnType,
String methodName,
String... argumentTypes) |
Invokes a standard virtual method.
|
InstructionBuilder |
InstructionBuilder.invokeVirtual(PlasticMethod method) |
|
InstructionBuilder |
InstructionBuilder.iterateArray(InstructionBuilderCallback callback) |
Expects an array to be the top value on the stack.
|
InstructionBuilder |
InstructionBuilder.loadArgument(int index) |
Loads an argument onto the stack, using the opcode appropriate to the argument's type.
|
InstructionBuilder |
InstructionBuilder.loadArguments() |
Loads all arguments for the current method onto the stack; this is used when invoking a method
that takes the exact same parameters (often, a super-class implementation).
|
InstructionBuilder |
InstructionBuilder.loadArrayElement() |
Loads a value from an array object.
|
InstructionBuilder |
InstructionBuilder.loadArrayElement(int index,
String elementType) |
Loads a value from an array object, which must be the top element of the stack.
|
InstructionBuilder |
InstructionBuilder.loadConstant(Object constant) |
Loads a constant value
|
InstructionBuilder |
InstructionBuilder.loadNull() |
Loads the null constant onto the stack.
|
InstructionBuilder |
InstructionBuilder.loadThis() |
Loads this onto the stack.
|
InstructionBuilder |
InstructionBuilder.loadTypeConstant(Class type) |
Loads a Java type (a Class instance) as a constant.
|
InstructionBuilder |
InstructionBuilder.loadTypeConstant(String typeName) |
Loads a Java type (a Class instance) as a constant.
|
InstructionBuilder |
InstructionBuilder.loadVariable(LocalVariable variable) |
Loads a value from a local variable and pushes it onto the stack.
|
InstructionBuilder |
InstructionBuilder.newInstance(Class clazz) |
|
InstructionBuilder |
InstructionBuilder.newInstance(String className) |
Creates a new, uninitialized instance of the indicated class.
|
InstructionBuilder |
InstructionBuilder.pop() |
Discards the top value on the stack.
|
InstructionBuilder |
InstructionBuilder.popWide() |
Pops a wide value (a primitive long or double).
|
InstructionBuilder |
InstructionBuilder.putField(String className,
String fieldName,
Class fieldType) |
|
InstructionBuilder |
InstructionBuilder.putField(String className,
String fieldName,
String typeName) |
Expects the stack to contain the instance to update, and the value to store into the field.
|
InstructionBuilder |
InstructionBuilder.putStaticField(String className,
String fieldName,
Class fieldType) |
Sets a static field; the new field value should be on top of the stack.
|
InstructionBuilder |
InstructionBuilder.putStaticField(String className,
String fieldName,
String typeName) |
Sets a static field; the new field value should be on top of the stack.
|
InstructionBuilder |
InstructionBuilder.returnDefaultValue() |
Returns the default value for the method, which may be null, or a specific primitive value.
|
InstructionBuilder |
InstructionBuilder.returnResult() |
Returns the top value on the stack.
|
InstructionBuilder |
InstructionBuilder.startSwitch(int min,
int max,
SwitchCallback callback) |
Starts a switch statement.
|
InstructionBuilder |
InstructionBuilder.startTryCatch(TryCatchCallback tryCatchCallback) |
Defines the start of a block that can have exception handlers and finally blocks applied.
|
InstructionBuilder |
InstructionBuilder.startVariable(String type,
LocalVariableCallback callback) |
Starts a block where the given name is active.
|
InstructionBuilder |
InstructionBuilder.storeVariable(LocalVariable variable) |
|
InstructionBuilder |
InstructionBuilder.swap() |
Swaps the top element of the stack with the next element down.
|
InstructionBuilder |
InstructionBuilder.throwException() |
Throws the exception on the top of the stack.
|
InstructionBuilder |
InstructionBuilder.throwException(Class<? extends Throwable> exceptionType,
String message) |
|
InstructionBuilder |
InstructionBuilder.throwException(String className,
String message) |
Throws an exception with a fixed message.
|
InstructionBuilder |
InstructionBuilder.unboxPrimitive(String typeName) |
Unboxes a wrapper type to a primitive type if typeName is a primitive type name (the value on the stack
should be the corresponding wrapper type instance).
|
InstructionBuilder |
InstructionBuilder.when(Condition condition,
InstructionBuilderCallback ifTrue) |
Simplified version of when(Condition, WhenCallback) that
simply executes the callback code when the condition is true and does nothing
if the condition is false (the more general case).
|
InstructionBuilder |
InstructionBuilder.when(Condition condition,
WhenCallback callback) |
Executes conditional code based on a Condition .
|