Uses of Class
serp.bytecode.Instruction

Packages that use Instruction
serp.bytecode Bytecode Manipuation 
serp.bytecode.visitor Bytecode Visitor 
 

Uses of Instruction in serp.bytecode
 

Subclasses of Instruction in serp.bytecode
 class ArrayInstruction
          Any array load or store instruction.
 class ArrayLoadInstruction
          Loads a value from an array onto the stack.
 class ArrayStoreInstruction
          Store a value from the stack into an array.
 class ClassInstruction
          An instruction that takes as an argument a class to operate on.
 class CmpInstruction
          An instruction comparing two stack values.
 class ConstantInstruction
          An instruction that that loads a constant onto the stack.
 class ConvertInstruction
          A conversion opcode such as i2l, f2i, etc.
 class FieldInstruction
          Instruction that takes as an argument a field to operate on.
 class GetFieldInstruction
          Loads a value from a field onto the stack.
 class GotoInstruction
          An instruction that specifies a position in the code block to jump to.
 class IfInstruction
          An if instruction such as ifnull, ifeq, etc.
 class IIncInstruction
          The iinc instruction.
 class JumpInstruction
          An instruction that specifies a position in the code block to jump to.
 class LoadInstruction
          Loads a value from the locals table to the stack.
 class LocalVariableInstruction
          An instruction that has an argument of an index into the local variable table of the current frame.
 class LookupSwitchInstruction
          The lookupswitch instruction.
 class MathInstruction
          One of the math operations defined in the Constants interface.
 class MethodInstruction
          An instruction that invokes a method.
 class MonitorEnterInstruction
          The monitorenter instruction.
 class MonitorExitInstruction
          The monitorexit instruction.
 class MonitorInstruction
          A synchronization instruction.
 class MultiANewArrayInstruction
          The multianewarray instruction, which creates a new multi-dimensional array.
 class NewArrayInstruction
          The newarray instruction, which is used to create new arrays of primitive types.
 class PutFieldInstruction
          Stores a value from the stack into a field.
 class RetInstruction
          The ret instruction is used in the implementation of finally.
 class ReturnInstruction
          Returns a value (or void) from a method.
 class StackInstruction
          Represents an instruction that manipulates the stack of the current frame.
 class StoreInstruction
          An instruction to store a value from a local variable onto the stack.
 class SwitchInstruction
          Contains functionality common to the different switch types (TableSwitch and LookupSwitch).
 class TableSwitchInstruction
          The tableswitch instruction.
 class TypedInstruction
          Any typed instruction.
 class WideInstruction
          The wide instruction, which is used to allow other instructions to index values beyond what they can normally index baed on the length of their arguments.
 

Methods in serp.bytecode that return Instruction
 Instruction Code.add(Instruction ins)
          Adds a copy of the given instruction.
 Instruction Code.arraylength()
          Get the length of an array on the stack; the arraylength opcode.
 Instruction Code.athrow()
          Throw an exception; the athrow opcode.
 Instruction TableSwitchInstruction.getDefaultTarget()
          Synonymous with JumpInstruction.getTarget().
 Instruction SwitchInstruction.getDefaultTarget()
          Synonymous with JumpInstruction.getTarget().
 Instruction LookupSwitchInstruction.getDefaultTarget()
          Synonymous with JumpInstruction.getTarget().
 Instruction Local.getEnd()
          The last Instruction for which this local is in scope.
 Instruction ExceptionHandler.getHandlerStart()
          Return the instruction marking the beginning of the catch {} block.
 Instruction[] Code.getInstructions()
          Return all the Instructions of this method.
 Instruction Local.getStart()
          Return the instruction marking the beginning of this local.
 Instruction LineNumber.getStart()
          Return the instruction marking the beginning of this line.
 Instruction JumpInstruction.getTarget()
          Get the current target instruction to jump to, if it has been set.
 Instruction[] TableSwitchInstruction.getTargets()
          Return the targets for this switch, or empty array if not set.
 Instruction[] SwitchInstruction.getTargets()
          Return the targets for this switch, or empty array if not set.
 Instruction[] LookupSwitchInstruction.getTargets()
          Return the targets of the case statements for this switch.
 Instruction ExceptionHandler.getTryEnd()
          Return the instruction at the end of the try {} block.
 Instruction ExceptionHandler.getTryStart()
          Return the instruction marking the beginning of the try {} block.
 Instruction Code.next()
          Return the next instruction.
 Instruction Code.nop()
          Add the nop opcode.
 Instruction Code.previous()
          Return the previous instruction.
 Instruction Code.set(Instruction ins)
          Replaces the last iterated instruction with a copy of the given one.
 Instruction ClassConstantInstruction.setClass(BCClass type)
          Set the type of class being loaded.
 Instruction ClassConstantInstruction.setClass(Class type)
          Set the type of class being loaded.
 Instruction ClassConstantInstruction.setClass(String name)
          Set the type of class being loaded.
 

Methods in serp.bytecode with parameters of type Instruction
 Instruction Code.add(Instruction ins)
          Adds a copy of the given instruction.
 SwitchInstruction SwitchInstruction.addCase(int match, Instruction target)
          Add a case to this switch.
 LookupSwitchInstruction LookupSwitchInstruction.addCase(int match, Instruction target)
          Add a case to this switch.
 ExceptionHandler Code.addExceptionHandler(Instruction tryStart, Instruction tryEnd, Instruction handlerStart, BCClass catchType)
          Add an exception handler to this code block.
 ExceptionHandler Code.addExceptionHandler(Instruction tryStart, Instruction tryEnd, Instruction handlerStart, Class catchType)
          Add an exception handler to this code block.
 ExceptionHandler Code.addExceptionHandler(Instruction tryStart, Instruction tryEnd, Instruction handlerStart, String catchType)
          Add an exception handler to this code block.
 LineNumber LineNumberTable.addLineNumber(Instruction start, int line)
          Add a new line number to this table.
 TableSwitchInstruction TableSwitchInstruction.addTarget(Instruction target)
          Add a target to this switch.
 SwitchInstruction SwitchInstruction.addTarget(Instruction target)
          Add a target to this switch.
 void Code.after(Instruction ins)
          Position the iterator just after the given instruction.
 void Code.before(Instruction ins)
          Position the iterator just before the given instruction.
 boolean WideInstruction.equalsInstruction(Instruction other)
          WideInstructions are equal if the instruction they augment is the same or unset.
 boolean StoreInstruction.equalsInstruction(Instruction other)
          StoreInstructions are equal if the type they reference the same type and locals index or if either is unset.
 boolean RetInstruction.equalsInstruction(Instruction other)
           
 boolean NewArrayInstruction.equalsInstruction(Instruction other)
          NewArray instructions are equal if the array type is the same, of if the array type of either is unset.
 boolean MultiANewArrayInstruction.equalsInstruction(Instruction other)
          Two MultiANewArray instructions are equal if they have the same type and dimensions, or if the type and dimensions of either is unset.
 boolean MethodInstruction.equalsInstruction(Instruction other)
          MethodInstructions are equal if the method they reference is the same, or if the method of either is unset.
 boolean MathInstruction.equalsInstruction(Instruction other)
          MathInstructions are equal if they have the same operation and type, or the operation and type of either is unset.
 boolean LocalVariableInstruction.equalsInstruction(Instruction other)
          Two local variable instructions are equal if the local index they reference is equal or if either index is 0/unset.
 boolean LoadInstruction.equalsInstruction(Instruction other)
          LoadInstructions are equal if the type they reference the same type and locals index or if either is unset.
 boolean JumpInstruction.equalsInstruction(Instruction other)
          JumpInstructions are equal if they represent the same operation and the instruction they jump to is the same, or if the jump Instruction of either is unset.
 boolean Instruction.equalsInstruction(Instruction other)
          Instructions are equal if their opcodes are the same.
 boolean IIncInstruction.equalsInstruction(Instruction other)
           
 boolean FieldInstruction.equalsInstruction(Instruction other)
          FieldInstructions are equal if the field they reference is the same, or if the field of either is unset.
 boolean ConvertInstruction.equalsInstruction(Instruction other)
          ConvertInstructions are equal if the types they convert between are either equal or unset.
 boolean ConstantInstruction.equalsInstruction(Instruction other)
          ConstantInstructions are equal if the const they reference is the same, or if the const of either is unset.
 boolean ClassInstruction.equalsInstruction(Instruction other)
          ClassInstructions are equal if the type they reference is the same or unset and if their opcodes are equal.
 LineNumber LineNumberTable.getLineNumber(Instruction ins)
          Return the line number for the given instruction, or null if none.
 boolean LineNumberTable.removeLineNumber(Instruction ins)
          Remove the line number for the given instruction.
 int Code.replace(Instruction[] templates, Instruction[] with)
          Equivalent to looping over each given template/replacement pair and calling Code.replace(Instruction,Instruction) for each.
 int Code.replace(Instruction[] templates, Instruction[] with)
          Equivalent to looping over each given template/replacement pair and calling Code.replace(Instruction,Instruction) for each.
 int Code.replace(Instruction template, Instruction with)
          Replaces all the instructions in this code block that match the given template with the given instruction.
 void TableSwitchInstruction.replaceTarget(Instruction oldTarget, Instruction newTarget)
           
 void SwitchInstruction.replaceTarget(Instruction oldTarget, Instruction newTarget)
           
 void LookupSwitchInstruction.replaceTarget(Instruction oldTarget, Instruction newTarget)
           
 void LocalTable.replaceTarget(Instruction oldTarget, Instruction newTarget)
           
 void Local.replaceTarget(Instruction oldTarget, Instruction newTarget)
           
 void LineNumberTable.replaceTarget(Instruction oldTarget, Instruction newTarget)
           
 void LineNumber.replaceTarget(Instruction oldTarget, Instruction newTarget)
           
 void JumpInstruction.replaceTarget(Instruction oldTarget, Instruction newTarget)
           
 void InstructionPtr.replaceTarget(Instruction oldTarget, Instruction newTarget)
          Replace the given old, likely invalid, target with a new target.
 void ExceptionHandler.replaceTarget(Instruction oldTarget, Instruction newTarget)
           
 boolean Code.searchBackward(Instruction template)
          Find the closest previous instruction from the current iterator position that matches the given one, according to the Object.equals(java.lang.Object) methods of the instruction types.
 boolean Code.searchForward(Instruction template)
          Find the next instruction from the current iterator position that matches the given one, according to the Object.equals(java.lang.Object) methods of the instruction types.
 Instruction Code.set(Instruction ins)
          Replaces the last iterated instruction with a copy of the given one.
 SwitchInstruction SwitchInstruction.setCases(int[] matches, Instruction[] targets)
          Set the match-jumppt pairs for this switch.
 LookupSwitchInstruction LookupSwitchInstruction.setCases(int[] matches, Instruction[] targets)
          Set the match-jumppt pairs for this switch.
 TableSwitchInstruction TableSwitchInstruction.setDefaultTarget(Instruction ins)
          Synonymous with JumpInstruction.setTarget(serp.bytecode.Instruction).
 SwitchInstruction SwitchInstruction.setDefaultTarget(Instruction ins)
          Synonymous with JumpInstruction.setTarget(serp.bytecode.Instruction).
 LookupSwitchInstruction LookupSwitchInstruction.setDefaultTarget(Instruction ins)
          Synonymous with JumpInstruction.setTarget(serp.bytecode.Instruction).
 void Local.setEnd(Instruction end)
          Set the last Instruction for which this local is in scope.
 void ExceptionHandler.setHandlerStart(Instruction instruction)
          Set the Instruction marking the beginning of the catch block.
 WideInstruction WideInstruction.setInstruction(Instruction ins)
          Set the type of instruction this wide instruction modifies.
 void Local.setStart(Instruction instruction)
          Set the Instruction marking the beginning this local.
 void LineNumber.setStart(Instruction instruction)
          Set the Instruction marking the beginning this line.
 JumpInstruction JumpInstruction.setTarget(Instruction instruction)
          Set the instruction to jump to; the instruction must already be added to the code block.
 TableSwitchInstruction TableSwitchInstruction.setTargets(Instruction[] targets)
          Set the jump points for this switch.
 SwitchInstruction SwitchInstruction.setTargets(Instruction[] targets)
          Set the jump points for this switch.
 void ExceptionHandler.setTryEnd(Instruction instruction)
          Set the Instruction at the end of the try block.
 void ExceptionHandler.setTryStart(Instruction instruction)
          Set the Instruction marking the beginning of the try block.
 

Uses of Instruction in serp.bytecode.visitor
 

Methods in serp.bytecode.visitor with parameters of type Instruction
 void PrettyPrintVisitor.enterInstruction(Instruction obj)
           
 void BCVisitor.enterInstruction(Instruction obj)
           
 void PrettyPrintVisitor.exitInstruction(Instruction obj)
           
 void BCVisitor.exitInstruction(Instruction obj)
           
 



Copyright © 2002-2007. All Rights Reserved.