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
public class GOTO extends GotoInstruction implements VariableLengthInstruction
GOTO - Branch always (to relative offset, not absolute address)
-
-
Field Summary
-
Fields inherited from class org.apache.bcel.generic.BranchInstruction
index, position, target
-
Fields inherited from class org.apache.bcel.generic.Instruction
length, opcode
-
-
Constructor Summary
Constructors Constructor Description GOTO(InstructionHandle target)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(Visitor v)
Call corresponding visitor method(s).void
dump(DataOutputStream out)
Dump instruction as byte code to stream out.protected int
updatePosition(int offset, int max_offset)
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, updateTarget
-
Methods inherited from class org.apache.bcel.generic.Instruction
consumeStack, copy, equals, getComparator, getLength, getName, getOpcode, hashCode, isValidByte, isValidShort, produceStack, readInstruction, setComparator, toString, toString
-
-
-
-
Constructor Detail
-
GOTO
public GOTO(InstructionHandle target)
-
-
Method Detail
-
dump
public void dump(DataOutputStream out) throws IOException
Dump instruction as byte code to stream out.- Overrides:
dump
in classBranchInstruction
- Parameters:
out
- Output stream- Throws:
IOException
-
updatePosition
protected int updatePosition(int offset, int max_offset)
Called in pass 2 of InstructionList.setPositions() in order to update the branch target, that may shift due to variable length instructions.- Overrides:
updatePosition
in classBranchInstruction
- Parameters:
offset
- additional offset caused by preceding (variable length) instructionsmax_offset
- the maximum offset that may be caused by these instructions- Returns:
- additional offset caused by possible change of this instruction's length
-
accept
public void accept(Visitor v)
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:
accept
in classInstruction
- Parameters:
v
- Visitor object
-
-