Package org.apache.bcel.generic
Class GOTO
java.lang.Object
org.apache.bcel.generic.Instruction
org.apache.bcel.generic.BranchInstruction
org.apache.bcel.generic.GotoInstruction
org.apache.bcel.generic.GOTO
- All Implemented Interfaces:
Cloneable,InstructionTargeter,UnconditionalBranch,VariableLengthInstruction
GOTO - Branch always (to relative offset, not absolute address)
-
Field Summary
Fields inherited from class org.apache.bcel.generic.BranchInstruction
index, position, targetFields inherited from class org.apache.bcel.generic.Instruction
length, opcode -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidCall corresponding visitor method(s).voiddump(DataOutputStream out) Dump instruction as byte code to stream out.protected intupdatePosition(int offset, int maxOffset) Called in pass 2 of InstructionList.setPositions() in order to update the branch target, that may shift due to variable length instructions.Methods inherited from class org.apache.bcel.generic.BranchInstruction
containsTarget, getIndex, getPosition, getTarget, getTargetOffset, getTargetOffset, initFromFile, setIndex, setPosition, setTarget, toString, updateTargetMethods inherited from class org.apache.bcel.generic.Instruction
consumeStack, copy, equals, getComparator, getLength, getName, getOpcode, hashCode, isValidByte, isValidShort, produceStack, readInstruction, setComparator, toString, toString
-
Constructor Details
-
GOTO
-
-
Method Details
-
accept
Call corresponding visitor method(s). The order is: Call visitor methods of implemented interfaces first, then call methods according to the class hierarchy in descending order, i.e., the most specific visitXXX() call comes last.- Specified by:
acceptin classInstruction- Parameters:
v- Visitor object
-
dump
Dump instruction as byte code to stream out.- Overrides:
dumpin classBranchInstruction- Parameters:
out- Output stream- Throws:
IOException- Thrown when an I/O exception of some sort has occurred.
-
updatePosition
Called in pass 2 of InstructionList.setPositions() in order to update the branch target, that may shift due to variable length instructions.- Overrides:
updatePositionin classBranchInstruction- Parameters:
offset- additional offset caused by preceding (variable length) instructionsmaxOffset- the maximum offset that may be caused by these instructions- Returns:
- additional offset caused by possible change of this instruction's length
-