Uses of Class
org.aspectj.apache.bcel.generic.InstructionHandle
Packages that use InstructionHandle
-
Uses of InstructionHandle in org.aspectj.apache.bcel.generic
Subclasses of InstructionHandle in org.aspectj.apache.bcel.genericModifier and TypeClassDescriptionfinal classBranchHandle is returned by specialized InstructionList.append() whenever a BranchInstruction is appended.Fields in org.aspectj.apache.bcel.generic declared as InstructionHandleModifier and TypeFieldDescriptionprotected InstructionHandleInstructionBranch.targetInstructionprotected InstructionHandle[]InstructionSelect.targetsMethods in org.aspectj.apache.bcel.generic that return InstructionHandleModifier and TypeMethodDescriptionInstructionList.append(Instruction i) Append an instruction to the end of this list.InstructionList.append(InstructionHandle ih, Instruction i) Append an instruction after instruction (handle) ih contained in this list.InstructionList.append(InstructionHandle appendTo, InstructionList appendee) Append another list after instruction (handle) ih contained in this list.InstructionList.append(InstructionList il) Append another list to this one.InstructionList.append(Instruction i, Instruction j) Append a single instruction j after another instruction i, which must be in this list of course!InstructionList.append(Instruction i, InstructionList il) Append another list after instruction i contained in this list.InstructionList.appendDUP()InstructionList.appendNOP()InstructionList.appendPOP()InstructionList.findHandle(int pos) Get instruction handle for instruction at byte code position pos.InstructionList.findHandle(int pos, InstructionHandle[] instructionArray) InstructionList.findHandle(int pos, InstructionHandle[] instructionArray, boolean useClosestApproximationIfNoExactFound) static InstructionHandleInstructionList.findHandle(InstructionHandle[] ihs, int[] pos, int count, int target) static InstructionHandleInstructionList.findHandle(InstructionHandle[] ihs, int[] pos, int count, int target, boolean returnClosestIfNoExactMatch) Find the target instruction (handle) that corresponds to the given target position (byte code offset).InstructionList.getEnd()LocalVariableGen.getEnd()CodeExceptionGen.getEndPC()CodeExceptionGen.getHandlerPC()LineNumberGen.getInstruction()InstructionList.getInstructionHandles()InstructionList.getInstructionsAsArray()final InstructionHandleInstructionHandle.getNext()final InstructionHandleInstructionHandle.getPrev()InstructionList.getStart()LocalVariableGen.getStart()CodeExceptionGen.getStartPC()BranchHandle.getTarget()InstructionBranch.getTarget()ReturnaddressType.getTarget()InstructionSelect.getTargets()TargetLostException.getTargets()InstructionList.insert(Instruction i) Insert an instruction at start of this list.InstructionList.insert(InstructionHandle ih, Instruction i) Insert an instruction before instruction (handle) ih contained in this list.InstructionList.insert(InstructionHandle ih, InstructionList il) Insert another list before Instruction handle ih contained in this list.InstructionList.insert(InstructionList il) Insert another list.InstructionList.insert(Instruction i, Instruction j) Insert a single instruction j before another instruction i, which must be in this list of course!InstructionList.insert(Instruction i, InstructionList il) Insert another list before Instruction i contained in this list.InstructionBranch.physicalSuccessor()Returns an InstructionHandle to the physical successor of this JsrInstruction.Methods in org.aspectj.apache.bcel.generic with parameters of type InstructionHandleModifier and TypeMethodDescriptionMethodGen.addExceptionHandler(InstructionHandle start_pc, InstructionHandle end_pc, InstructionHandle handler_pc, ObjectType catch_type) Add an exception handler, i.e., specify region where a handler is active and an instruction where the actual handling is done.MethodGen.addLineNumber(InstructionHandle ih, int src_line) Give an instruction a line number corresponding to the source code line.MethodGen.addLocalVariable(String name, Type type, int slot, InstructionHandle start, InstructionHandle end) MethodGen.addLocalVariable(String name, Type type, InstructionHandle start, InstructionHandle end) Adds a local variable to this method and assigns an index automatically.InstructionList.append(InstructionHandle ih, Instruction i) Append an instruction after instruction (handle) ih contained in this list.InstructionList.append(InstructionHandle ih, InstructionBranch i) Append an instruction after instruction (handle) ih contained in this list.InstructionList.append(InstructionHandle appendTo, InstructionList appendee) Append another list after instruction (handle) ih contained in this list.booleanInstructionList.contains(InstructionHandle i) booleanCodeExceptionGen.containsTarget(InstructionHandle ih) booleanInstructionBranch.containsTarget(InstructionHandle ih) booleanInstructionSelect.containsTarget(InstructionHandle ih) booleanInstructionTargeter.containsTarget(InstructionHandle ih) booleanLineNumberGen.containsTarget(InstructionHandle ih) booleanLocalVariableGen.containsTarget(InstructionHandle ih) booleanTag.containsTarget(InstructionHandle ih) static InstructionBranchInstructionFactory.createBranchInstruction(short opcode, InstructionHandle target) Create branch instruction by given opcode, except LOOKUPSWITCH and TABLESWITCH.voidInstructionList.delete(InstructionHandle ih) Remove instruction from this list.voidInstructionList.delete(InstructionHandle from, InstructionHandle to) Remove instructions from instruction `from' to instruction `to' contained in this list.InstructionList.findHandle(int pos, InstructionHandle[] instructionArray) InstructionList.findHandle(int pos, InstructionHandle[] instructionArray, boolean useClosestApproximationIfNoExactFound) static InstructionHandleInstructionList.findHandle(InstructionHandle[] ihs, int[] pos, int count, int target) static InstructionHandleInstructionList.findHandle(InstructionHandle[] ihs, int[] pos, int count, int target, boolean returnClosestIfNoExactMatch) Find the target instruction (handle) that corresponds to the given target position (byte code offset).protected intInstructionSelect.getTargetOffset(InstructionHandle target) InstructionList.insert(InstructionHandle ih, Instruction i) Insert an instruction before instruction (handle) ih contained in this list.InstructionList.insert(InstructionHandle ih, InstructionBranch i) Insert an instruction before instruction (handle) ih contained in this list.InstructionList.insert(InstructionHandle ih, InstructionList il) Insert another list before Instruction handle ih contained in this list.voidInstructionList.move(InstructionHandle ih, InstructionHandle target) Move a single instruction (handle) to a new location.voidInstructionList.move(InstructionHandle start, InstructionHandle end, InstructionHandle target) Take all instructions (handles) from "start" to "end" and append them after the new location "target".voidInstructionList.redirectBranches(InstructionHandle old_target, InstructionHandle new_target) Redirect all references from old_target to new_target, i.e., update targets of branch instructions.voidInstructionList.redirectExceptionHandlers(CodeExceptionGen[] exceptions, InstructionHandle old_target, InstructionHandle new_target) Redirect all references of exception handlers from old_target to new_target.voidInstructionList.redirectLocalVariables(LocalVariableGen[] lg, InstructionHandle old_target, InstructionHandle new_target) Redirect all references of local variables from old_target to new_target.voidLocalVariableGen.setEnd(InstructionHandle end) voidCodeExceptionGen.setEndPC(InstructionHandle end_pc) voidCodeExceptionGen.setHandlerPC(InstructionHandle handler_pc) voidLineNumberGen.setInstruction(InstructionHandle ih) voidLocalVariableGen.setStart(InstructionHandle start) voidCodeExceptionGen.setStartPC(InstructionHandle start_pc) voidBranchHandle.setTarget(InstructionHandle ih) Pass new target to instruction.voidInstructionBranch.setTarget(InstructionHandle target) Set branch targetvoidInstructionSelect.setTarget(int i, InstructionHandle target) Set branch target for `i'th casevoidBranchHandle.updateTarget(InstructionHandle old_ih, InstructionHandle new_ih) Update target of instruction.voidCodeExceptionGen.updateTarget(InstructionHandle old_ih, InstructionHandle new_ih) voidInstructionBranch.updateTarget(InstructionHandle oldHandle, InstructionHandle newHandle) Update the target destination for this instruction.voidInstructionSelect.updateTarget(InstructionHandle old_ih, InstructionHandle new_ih) voidInstructionTargeter.updateTarget(InstructionHandle old_ih, InstructionHandle new_ih) voidLineNumberGen.updateTarget(InstructionHandle old_ih, InstructionHandle new_ih) voidLocalVariableGen.updateTarget(InstructionHandle old_ih, InstructionHandle new_ih) voidTag.updateTarget(InstructionHandle oldHandle, InstructionHandle newHandle) Constructors in org.aspectj.apache.bcel.generic with parameters of type InstructionHandleModifierConstructorDescriptionCodeExceptionGen(InstructionHandle start_pc, InstructionHandle end_pc, InstructionHandle handler_pc, ObjectType catch_type) Add an exception handler, i.e., specify region where a handler is active and an instruction where the actual handling is done.InstructionBranch(short opcode, InstructionHandle target) LineNumberGen(InstructionHandle ih, int src_line) Create a line number.LocalVariableGen(int index, String name, Type type, InstructionHandle start, InstructionHandle end) Generate a local variable that with index `index'.LOOKUPSWITCH(int[] match, InstructionHandle[] targets, InstructionHandle target) ReturnaddressType(InstructionHandle returnTarget) Creates a ReturnaddressType object with a target.SwitchBuilder(int[] match, InstructionHandle[] targets, InstructionHandle target) SwitchBuilder(int[] match, InstructionHandle[] targets, InstructionHandle target, int max_gap) Template for switch() constructs.TABLESWITCH(int[] match, InstructionHandle[] targets, InstructionHandle target) -
Uses of InstructionHandle in org.aspectj.weaver.bcel
Fields in org.aspectj.weaver.bcel declared as InstructionHandleModifier and TypeFieldDescriptionprotected InstructionHandleRange.endprotected InstructionHandleRange.startMethods in org.aspectj.weaver.bcel that return InstructionHandleMethods in org.aspectj.weaver.bcel with parameters of type InstructionHandleModifier and TypeMethodDescriptionvoidLazyMethodGen.addExceptionHandler(InstructionHandle start, InstructionHandle end, InstructionHandle handlerStart, ObjectType catchType, boolean highPriority) voidExceptionRange.associateWithTargets(InstructionHandle start, InstructionHandle end, InstructionHandle handler) static voidUtility.deleteInstruction(InstructionHandle ih, InstructionHandle retargetTo, LazyMethodGen enclosingMethod) delete an instruction handle and retarget all targeters of the deleted instruction to the provided target.static voidUtility.deleteInstruction(InstructionHandle ih, LazyMethodGen enclosingMethod) delete an instruction handle and retarget all targeters of the deleted instruction to the next instruction.static intUtility.getSourceLine(InstructionHandle ih) returns -1 if no source line attributevoidBcelShadow.initIfaceInitializer(InstructionHandle end) static booleanExceptionRange.isExceptionEnd(InstructionHandle ih) static booleanExceptionRange.isExceptionStart(InstructionHandle ih) static BcelShadowBcelShadow.makeArrayConstructorCall(BcelWorld world, LazyMethodGen enclosingMethod, InstructionHandle arrayInstruction, BcelShadow enclosingShadow) static BcelShadowBcelShadow.makeConstructorCall(BcelWorld world, LazyMethodGen enclosingMethod, InstructionHandle callHandle, BcelShadow enclosingShadow) static BcelShadowBcelShadow.makeConstructorExecution(BcelWorld world, LazyMethodGen enclosingMethod, InstructionHandle justBeforeStart) static BcelShadowBcelShadow.makeExceptionHandler(BcelWorld world, ExceptionRange exceptionRange, LazyMethodGen enclosingMethod, InstructionHandle startOfHandler, BcelShadow enclosingShadow) Make the shadow for an exception handler.static BcelShadowBcelShadow.makeFieldGet(BcelWorld world, ResolvedMember field, LazyMethodGen enclosingMethod, InstructionHandle getHandle, BcelShadow enclosingShadow) static BcelShadowBcelShadow.makeFieldSet(BcelWorld world, ResolvedMember field, LazyMethodGen enclosingMethod, InstructionHandle setHandle, BcelShadow enclosingShadow) BcelWorld.makeJoinPointSignatureForArrayConstruction(LazyClassGen cg, InstructionHandle handle) BcelWorld.makeJoinPointSignatureForMonitorEnter(LazyClassGen cg, InstructionHandle h) BcelWorld.makeJoinPointSignatureForMonitorExit(LazyClassGen cg, InstructionHandle h) static BcelShadowBcelShadow.makeMethodCall(BcelWorld world, LazyMethodGen enclosingMethod, InstructionHandle callHandle, BcelShadow enclosingShadow) static BcelShadowBcelShadow.makeMonitorEnter(BcelWorld world, LazyMethodGen enclosingMethod, InstructionHandle monitorInstruction, BcelShadow enclosingShadow) static BcelShadowBcelShadow.makeMonitorExit(BcelWorld world, LazyMethodGen enclosingMethod, InstructionHandle monitorInstruction, BcelShadow enclosingShadow) static BcelShadowBcelShadow.makeShadowForMethodCall(BcelWorld world, LazyMethodGen enclosingMethod, InstructionHandle callHandle, BcelShadow enclosingShadow, Shadow.Kind kind, ResolvedMember sig) static InstructionListBcelRenderer.renderTest(InstructionFactory fact, BcelWorld world, Test e, InstructionHandle sk, InstructionHandle fk, InstructionHandle next) static voidUtility.replaceInstruction(InstructionHandle ih, InstructionList replacementInstructions, LazyMethodGen enclosingMethod) replace an instruction handle with another instruction, in this case, a branch instruction.static voidBcelShadow.retargetAllBranches(InstructionHandle from, InstructionHandle to) static voidUtility.setSourceLine(InstructionHandle ih, int lineNumber) voidExceptionRange.updateTarget(InstructionHandle oldIh, InstructionHandle newIh, InstructionList newBody)