# Uses of Annotation Type
org.apache.tapestry5.plastic.Opcodes

Packages that use Opcodes
Package
Description
org.apache.tapestry5.plastic
Plastic, Tapestry's component class transformation library based on ASM

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

  Methods in org.apache.tapestry5.plastic with annotations of type Opcodes
  Modifier and Type
  Method
  Description
  `void`
  TryCatchBlock.`addCatch(String exceptionClassName, InstructionBuilderCallback callback)`
  Ends the block (if not already ended) and inserts a catch block for the named exception.
  `void`
  TryCatchBlock.`addFinally(InstructionBuilderCallback callback)`
  As with `TryCatchBlock.addCatch(String, InstructionBuilderCallback)`, but the exception caught is null, which acts as a finally block in the Java language.
  `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.`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 `InstructionBuilder.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.`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.`storeVariable(LocalVariable variable)`
  Stores the value on top of the stack to a local variable (previously defined by `InstructionBuilder.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 `InstructionBuilder.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`.