## 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 and Description
    --- | ---
    `class` | `InstructionBuilderImpl`

    Methods in org.apache.tapestry5.internal.plastic that return InstructionBuilder
    Modifier and Type | Method and Description
    --- | ---
    `InstructionBuilder` | InstructionBuilderImpl.`arrayLength()`
    `InstructionBuilder` | InstructionBuilderImpl.`boxPrimitive(java.lang.String typeName)`
    `InstructionBuilder` | InstructionBuilderImpl.`castOrUnbox(java.lang.String typeName)`
    `InstructionBuilder` | InstructionBuilderImpl.`checkcast(java.lang.Class clazz)`
    `InstructionBuilder` | InstructionBuilderImpl.`checkcast(java.lang.String className)`
    `InstructionBuilder` | InstructionBuilderImpl.`compareSpecial(java.lang.String typeName)`
    `InstructionBuilder` | InstructionBuilderImpl.`doWhile(Condition condition, WhileCallback callback)`
    `InstructionBuilder` | InstructionBuilderImpl.`dupe()`
    `InstructionBuilder` | InstructionBuilderImpl.`dupe(int depth)`
    `InstructionBuilder` | InstructionBuilderImpl.`dupeWide()`
    `InstructionBuilder` | InstructionBuilderImpl.`getField(PlasticField field)`
    `InstructionBuilder` | InstructionBuilderImpl.`getField(java.lang.String className, java.lang.String fieldName, java.lang.Class fieldType)`
    `InstructionBuilder` | InstructionBuilderImpl.`getField(java.lang.String className, java.lang.String fieldName, java.lang.String typeName)`
    `InstructionBuilder` | InstructionBuilderImpl.`getStaticField(java.lang.String className, java.lang.String fieldName, java.lang.Class fieldType)`
    `InstructionBuilder` | InstructionBuilderImpl.`getStaticField(java.lang.String className, java.lang.String fieldName, java.lang.String typeName)`
    `InstructionBuilder` | InstructionBuilderImpl.`increment(LocalVariable variable)`
    `InstructionBuilder` | InstructionBuilderImpl.`invoke(java.lang.Class clazz, java.lang.Class returnType, java.lang.String methodName, java.lang.Class... argumentTypes)`
    `InstructionBuilder` | InstructionBuilderImpl.`invoke(java.lang.reflect.Method method)`
    `InstructionBuilder` | InstructionBuilderImpl.`invokeConstructor(java.lang.Class clazz, java.lang.Class... argumentTypes)`
    `InstructionBuilder` | InstructionBuilderImpl.`invokeConstructor(java.lang.String className, java.lang.String... argumentTypes)`
    `InstructionBuilder` | InstructionBuilderImpl.`invokeInterface(java.lang.String interfaceName, java.lang.String returnType, java.lang.String methodName, java.lang.String... argumentTypes)`
    `InstructionBuilder` | InstructionBuilderImpl.`invokeSpecial(java.lang.String containingClassName, MethodDescription description)`
    `InstructionBuilder` | InstructionBuilderImpl.`invokeStatic(java.lang.Class clazz, java.lang.Class returnType, java.lang.String methodName, java.lang.Class... argumentTypes)`
    `InstructionBuilder` | InstructionBuilderImpl.`invokeVirtual(PlasticMethod method)`
    `InstructionBuilder` | InstructionBuilderImpl.`invokeVirtual(java.lang.String className, java.lang.String returnType, java.lang.String methodName, java.lang.String... argumentTypes)`
    `InstructionBuilder` | InstructionBuilderImpl.`iterateArray(InstructionBuilderCallback callback)`
    `InstructionBuilder` | InstructionBuilderImpl.`loadArgument(int index)`
    `InstructionBuilder` | InstructionBuilderImpl.`loadArguments()`
    `InstructionBuilder` | InstructionBuilderImpl.`loadArrayElement()`
    `InstructionBuilder` | InstructionBuilderImpl.`loadArrayElement(int index, java.lang.String elementType)`
    `InstructionBuilder` | InstructionBuilderImpl.`loadConstant(java.lang.Object constant)`
    `InstructionBuilder` | InstructionBuilderImpl.`loadNull()`
    `InstructionBuilder` | InstructionBuilderImpl.`loadThis()`
    `InstructionBuilder` | InstructionBuilderImpl.`loadTypeConstant(java.lang.Class clazz)`
    `InstructionBuilder` | InstructionBuilderImpl.`loadTypeConstant(java.lang.String typeName)`
    `InstructionBuilder` | InstructionBuilderImpl.`loadVariable(LocalVariable var)`
    `InstructionBuilder` | InstructionBuilderImpl.`newInstance(java.lang.Class clazz)`
    `InstructionBuilder` | InstructionBuilderImpl.`newInstance(java.lang.String className)`
    `InstructionBuilder` | InstructionBuilderImpl.`pop()`
    `InstructionBuilder` | InstructionBuilderImpl.`popWide()`
    `InstructionBuilder` | InstructionBuilderImpl.`putField(java.lang.String className, java.lang.String fieldName, java.lang.Class fieldType)`
    `InstructionBuilder` | InstructionBuilderImpl.`putField(java.lang.String className, java.lang.String fieldName, java.lang.String typeName)`
    `InstructionBuilder` | InstructionBuilderImpl.`putStaticField(java.lang.String className, java.lang.String fieldName, java.lang.Class fieldType)`
    `InstructionBuilder` | InstructionBuilderImpl.`putStaticField(java.lang.String className, java.lang.String fieldName, java.lang.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(java.lang.String type, LocalVariableCallback callback)`
    `InstructionBuilder` | InstructionBuilderImpl.`storeVariable(LocalVariable var)`
    `InstructionBuilder` | InstructionBuilderImpl.`swap()`
    `InstructionBuilder` | InstructionBuilderImpl.`throwException()`
    `InstructionBuilder` | InstructionBuilderImpl.`throwException(java.lang.Class<? extends java.lang.Throwable> exceptionType, java.lang.String message)`
    `InstructionBuilder` | InstructionBuilderImpl.`throwException(java.lang.String className, java.lang.String message)`
    `InstructionBuilder` | InstructionBuilderImpl.`unboxPrimitive(java.lang.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 and Description
    --- | ---
    `InstructionBuilder` | InstructionBuilder.`arrayLength()` Expects the top object on the stack to be an array.
    `InstructionBuilder` | InstructionBuilder.`boxPrimitive(java.lang.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(java.lang.String typeName)` Casts the object on top of the stack to the indicated type.
    `InstructionBuilder` | InstructionBuilder.`checkcast(java.lang.Class clazz)`
    `InstructionBuilder` | InstructionBuilder.`checkcast(java.lang.String className)` Adds a check that the object on top of the stack is assignable to the indicated class.
    `InstructionBuilder` | InstructionBuilder.`compareSpecial(java.lang.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(PlasticField field)` Loads an instance or static field onto the stack.
    `InstructionBuilder` | InstructionBuilder.`getField(java.lang.String className, java.lang.String fieldName, java.lang.Class fieldType)` Loads a field onto the stack.
    `InstructionBuilder` | InstructionBuilder.`getField(java.lang.String className, java.lang.String fieldName, java.lang.String typeName)` Loads an instance field onto the stack.
    `InstructionBuilder` | InstructionBuilder.`getStaticField(java.lang.String className, java.lang.String fieldName, java.lang.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(java.lang.String className, java.lang.String fieldName, java.lang.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(java.lang.Class clazz, java.lang.Class returnType, java.lang.String methodName, java.lang.Class... argumentTypes)` Automatically invokes an interface or virtual method.
    `InstructionBuilder` | InstructionBuilder.`invoke(java.lang.reflect.Method method)` Automatically invokes an interface or virtual method.
    `InstructionBuilder` | InstructionBuilder.`invokeConstructor(java.lang.Class clazz, java.lang.Class... argumentTypes)`
    `InstructionBuilder` | InstructionBuilder.`invokeConstructor(java.lang.String className, java.lang.String... argumentTypes)` Invokes a constructor on a class.
    `InstructionBuilder` | InstructionBuilder.`invokeInterface(java.lang.String interfaceName, java.lang.String returnType, java.lang.String methodName, java.lang.String... argumentTypes)` Invokes a standard virtual method.
    `InstructionBuilder` | InstructionBuilder.`invokeSpecial(java.lang.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(java.lang.Class clazz, java.lang.Class returnType, java.lang.String methodName, java.lang.Class... argumentTypes)` Invokes a static method of a class.
    `InstructionBuilder` | InstructionBuilder.`invokeVirtual(PlasticMethod method)`
    `InstructionBuilder` | InstructionBuilder.`invokeVirtual(java.lang.String className, java.lang.String returnType, java.lang.String methodName, java.lang.String... argumentTypes)` Invokes a standard virtual 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, java.lang.String elementType)` Loads a value from an array object, which must be the top element of the stack.
    `InstructionBuilder` | InstructionBuilder.`loadConstant(java.lang.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(java.lang.Class type)` Loads a Java type (a Class instance) as a constant.
    `InstructionBuilder` | InstructionBuilder.`loadTypeConstant(java.lang.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(java.lang.Class clazz)` A convenience version of `newInstance(String)` used when the class is known at build time.
    `InstructionBuilder` | InstructionBuilder.`newInstance(java.lang.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(java.lang.String className, java.lang.String fieldName, java.lang.Class fieldType)`
    `InstructionBuilder` | InstructionBuilder.`putField(java.lang.String className, java.lang.String fieldName, java.lang.String typeName)` Expects the stack to contain the instance to update, and the value to store into the field.
    `InstructionBuilder` | InstructionBuilder.`putStaticField(java.lang.String className, java.lang.String fieldName, java.lang.Class fieldType)` Sets a static field; the new field value should be on top of the stack.
    `InstructionBuilder` | InstructionBuilder.`putStaticField(java.lang.String className, java.lang.String fieldName, java.lang.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(java.lang.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(java.lang.Class<? extends java.lang.Throwable> exceptionType, java.lang.String message)`
    `InstructionBuilder` | InstructionBuilder.`throwException(java.lang.String className, java.lang.String message)` Throws an exception with a fixed message.
    `InstructionBuilder` | InstructionBuilder.`unboxPrimitive(java.lang.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 and 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.

${project.version} - Copyright © 2003-2015 The Apache Software Foundation.