harpoon.IR.Bytecode
Class InCti

java.lang.Object
  extended by harpoon.IR.Bytecode.Instr
      extended by harpoon.IR.Bytecode.InCti
All Implemented Interfaces:
HCodeElement, CFGraphable<Instr,harpoon.IR.Bytecode.InstrEdge>, Graph.Node<Instr,harpoon.IR.Bytecode.InstrEdge>, Comparable<Instr>
Direct Known Subclasses:
InRet, InSwitch

public class InCti
extends Instr

InCti is used for control-transfer instructions. It will have exactly one predecessor, and multiple successors. For conditional branches, the first successor (next()[0]) will be the 'fall-through' instruction (corresponding to branch-not-taken). For unconditional branches, the first successor will be the target, if there is one. Instructions like ireturn have no successors.

Version:
$Id: InCti.java,v 1.3 2002/02/25 21:04:17 cananian Exp $
Author:
C. Scott Ananian <cananian@alumni.princeton.edu>
See Also:
Instr

Field Summary
 
Fields inherited from class harpoon.IR.Bytecode.Instr
arrayFactory
 
Constructor Summary
InCti(String sourcefile, int linenumber, byte[] code, int pc)
          Create an InCti from a chunk of bytecode starting at offest pc.
 
Method Summary
 byte getOpcode()
          Return the java bytecode opcode of this instruction.
 String toString()
          Return human-readable instruction string.
 
Methods inherited from class harpoon.IR.Bytecode.Instr
compareTo, edgeC, edges, equals, getID, getLineNumber, getSourceFile, hashCode, isPred, isSucc, newEdge, next, next, pred, predC, prev, prev, succ, succC
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

InCti

public InCti(String sourcefile,
             int linenumber,
             byte[] code,
             int pc)
Create an InCti from a chunk of bytecode starting at offest pc.

Method Detail

getOpcode

public byte getOpcode()
Return the java bytecode opcode of this instruction.

Specified by:
getOpcode in class Instr

toString

public String toString()
Return human-readable instruction string.

Overrides:
toString in class Object