# Uses of Interface
org.apache.tapestry5.plastic.InstructionBuilder

Packages that use InstructionBuilder
Package
Description
org.apache.tapestry5.internal.plastic
[INTERNAL USE ONLY] Plastic implementation details; API subject to change
org.apache.tapestry5.plastic
Plastic, Tapestry's component class transformation library based on ASM

- ## Uses of InstructionBuilder in org.apache.tapestry5.internal.plastic

  Classes in org.apache.tapestry5.internal.plastic that implement InstructionBuilder
  Modifier and Type
  Class
  Description
  `class`
  `InstructionBuilderImpl`
  Methods in org.apache.tapestry5.internal.plastic that return InstructionBuilder
  Modifier and Type
  Method
  Description
  `InstructionBuilder`
  InstructionBuilderImpl.`arrayLength()`
  `InstructionBuilder`
  InstructionBuilderImpl.`boxPrimitive(String typeName)`
  `InstructionBuilder`
  InstructionBuilderImpl.`castOrUnbox(String typeName)`
  `InstructionBuilder`
  InstructionBuilderImpl.`checkcast(Class clazz)`
  `InstructionBuilder`
  InstructionBuilderImpl.`checkcast(String className)`
  `InstructionBuilder`
  InstructionBuilderImpl.`compareSpecial(String typeName)`
  `InstructionBuilder`
  InstructionBuilderImpl.`doWhile(Condition condition, WhileCallback callback)`
  `InstructionBuilder`
  InstructionBuilderImpl.`dupe()`
  `InstructionBuilder`
  InstructionBuilderImpl.`dupe(int depth)`
  `InstructionBuilder`
  InstructionBuilderImpl.`dupeWide()`
  `InstructionBuilder`
  InstructionBuilderImpl.`getField(String className, String fieldName, Class fieldType)`
  `InstructionBuilder`
  InstructionBuilderImpl.`getField(String className, String fieldName, String typeName)`
  `InstructionBuilder`
  InstructionBuilderImpl.`getField(PlasticField field)`
  `InstructionBuilder`
  InstructionBuilderImpl.`getStaticField(String className, String fieldName, Class fieldType)`
  `InstructionBuilder`
  InstructionBuilderImpl.`getStaticField(String className, String fieldName, String typeName)`
  `InstructionBuilder`
  InstructionBuilderImpl.`increment(LocalVariable variable)`
  `InstructionBuilder`
  InstructionBuilderImpl.`instanceOf(Class clazz)`
  `InstructionBuilder`
  InstructionBuilderImpl.`instanceOf(String className)`
  `InstructionBuilder`
  InstructionBuilderImpl.`invoke(Class clazz, Class returnType, String methodName, Class... argumentTypes)`
  `InstructionBuilder`
  InstructionBuilderImpl.`invoke(Method method)`
  `InstructionBuilder`
  InstructionBuilderImpl.`invokeConstructor(Class clazz, Class... argumentTypes)`
  `InstructionBuilder`
  InstructionBuilderImpl.`invokeConstructor(String className, String... argumentTypes)`
  `InstructionBuilder`
  InstructionBuilderImpl.`invokeInterface(String interfaceName, String returnType, String methodName, String... argumentTypes)`
  `InstructionBuilder`
  InstructionBuilderImpl.`invokeSpecial(String containingClassName, MethodDescription description)`
  `InstructionBuilder`
  InstructionBuilderImpl.`invokeStatic(Class clazz, Class returnType, String methodName, Class... argumentTypes)`
  `InstructionBuilder`
  InstructionBuilderImpl.`invokeVirtual(String className, String returnType, String methodName, String... argumentTypes)`
  `InstructionBuilder`
  InstructionBuilderImpl.`invokeVirtual(PlasticMethod method)`
  `InstructionBuilder`
  InstructionBuilderImpl.`iterateArray(InstructionBuilderCallback callback)`
  `InstructionBuilder`
  InstructionBuilderImpl.`loadArgument(int index)`
  `InstructionBuilder`
  InstructionBuilderImpl.`loadArguments()`
  `InstructionBuilder`
  InstructionBuilderImpl.`loadArrayElement()`
  `InstructionBuilder`
  InstructionBuilderImpl.`loadArrayElement(int index, String elementType)`
  `InstructionBuilder`
  InstructionBuilderImpl.`loadConstant(Object constant)`
  `InstructionBuilder`
  InstructionBuilderImpl.`loadNull()`
  `InstructionBuilder`
  InstructionBuilderImpl.`loadThis()`
  `InstructionBuilder`
  InstructionBuilderImpl.`loadTypeConstant(Class clazz)`
  `InstructionBuilder`
  InstructionBuilderImpl.`loadTypeConstant(String typeName)`
  `InstructionBuilder`
  InstructionBuilderImpl.`loadVariable(LocalVariable var)`
  `InstructionBuilder`
  InstructionBuilderImpl.`newInstance(Class clazz)`
  `InstructionBuilder`
  InstructionBuilderImpl.`newInstance(String className)`
  `InstructionBuilder`
  InstructionBuilderImpl.`pop()`
  `InstructionBuilder`
  InstructionBuilderImpl.`popWide()`
  `InstructionBuilder`
  InstructionBuilderImpl.`putField(String className, String fieldName, Class fieldType)`
  `InstructionBuilder`
  InstructionBuilderImpl.`putField(String className, String fieldName, String typeName)`
  `InstructionBuilder`
  InstructionBuilderImpl.`putStaticField(String className, String fieldName, Class fieldType)`
  `InstructionBuilder`
  InstructionBuilderImpl.`putStaticField(String className, String fieldName, String typeName)`
  `InstructionBuilder`
  InstructionBuilderImpl.`returnDefaultValue()`
  `InstructionBuilder`
  InstructionBuilderImpl.`returnResult()`
  `InstructionBuilder`
  InstructionBuilderImpl.`startSwitch(int min, int max, SwitchCallback callback)`
  `InstructionBuilder`
  InstructionBuilderImpl.`startTryCatch(TryCatchCallback callback)`
  `InstructionBuilder`
  InstructionBuilderImpl.`startVariable(String type, LocalVariableCallback callback)`
  `InstructionBuilder`
  InstructionBuilderImpl.`storeVariable(LocalVariable var)`
  `InstructionBuilder`
  InstructionBuilderImpl.`swap()`
  `InstructionBuilder`
  InstructionBuilderImpl.`throwException()`
  `InstructionBuilder`
  InstructionBuilderImpl.`throwException(Class<? extends Throwable> exceptionType, String message)`
  `InstructionBuilder`
  InstructionBuilderImpl.`throwException(String className, String message)`
  `InstructionBuilder`
  InstructionBuilderImpl.`unboxPrimitive(String typeName)`
  `InstructionBuilder`
  InstructionBuilderImpl.`when(Condition condition, InstructionBuilderCallback ifTrue)`
  `InstructionBuilder`
  InstructionBuilderImpl.`when(Condition condition, WhenCallback callback)`

- ## Uses of InstructionBuilder in org.apache.tapestry5.plastic

  Methods in org.apache.tapestry5.plastic that return InstructionBuilder
  Modifier and Type
  Method
  Description
  `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.`instanceOf(Class clazz)`
  Adds a check that the object on top of the stack is assignable to the indicated class.
  `InstructionBuilder`
  InstructionBuilder.`instanceOf(String className)`
  Adds a check that the object on top of the stack is assignable to the indicated class.
  `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)`
  A convenience version of `newInstance(String)` used when the class is known at build time.
  `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)`
  Stores the value on top of the stack to a local variable (previously defined by `startVariable(String, LocalVariableCallback)`.
  `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`.
  Methods in org.apache.tapestry5.plastic with parameters of type InstructionBuilder
  Modifier and Type
  Method
  Description
  `void`
  WhileCallback.`buildBody(InstructionBuilder builder)`
  Provides the main code executed inside the loop.
  `void`
  WhileCallback.`buildTest(InstructionBuilder builder)`
  Creates the code to be evaluated by the `Condition`; often this involves loading a value from a variable or argument, or `dupe()`'ing the top value on the stack.
  `void`
  InstructionBuilderCallback.`doBuild(InstructionBuilder builder)`
  Invoked by the builder to allow the callback to build some code.
  `void`
  LocalVariableCallback.`doBuild(LocalVariable variable, InstructionBuilder builder)`
  Callback to generate code with a local variable
  `void`
  WhenCallback.`ifFalse(InstructionBuilder builder)`
  Generates code for when the condition is false.
  `void`
  WhenCallback.`ifTrue(InstructionBuilder builder)`
  Generates code for when the condition is true.