harpoon.IR.Properties
Interface CFGraphable<CFG extends CFGraphable<CFG,E>,E extends CFGEdge<CFG,E>>

All Superinterfaces:
Graph.Node<CFG,E>, HCodeElement
All Known Implementing Classes:
AGET, ALENGTH, ANEW, ARRAYINIT, ASET, CALL, CJMP, CodeGen.InstrCC, CodeGen.InstrDELAYSLOT, COMPONENTOF, CONST, DEBUG, FOOTER, GET, HANDLER, HEADER, InCti, InGen, InMerge, InRet, INSTANCEOF, Instr, Instr, InstrCALL, InstrDIRECTIVE, InstrJUMP, InstrLABEL, InstrMEM, InstrMOVE, InstrMOVEproxy, InSwitch, LABEL, LowQuad, METHOD, MONITORENTER, MONITOREXIT, MOVE, NEW, NOP, OPER, PAOFFSET, PARRAY, PCALL, PCONST, PFCONST, PFIELD, PFOFFSET, PGET, PHI, PMCONST, PMETHOD, PMOFFSET, POPER, PPTR, PSET, Quad, RegAlloc.RestoreProxy, RegAlloc.SpillLoad, RegAlloc.SpillProxy, RegAlloc.SpillStore, RETURN, SET, SIGMA, SWITCH, THROW, TYPECAST, TYPESWITCH

public interface CFGraphable<CFG extends CFGraphable<CFG,E>,E extends CFGEdge<CFG,E>>
extends HCodeElement, Graph.Node<CFG,E>

CFGraphable defines an interface for intermediate representations that are inherently interconnected in a directed control-flow graphs.

Version:
$Id: CFGraphable.java,v 1.6 2004/02/07 21:28:54 cananian Exp $
Author:
C. Scott Ananian <cananian@alumni.princeton.edu>
See Also:
CFGrapher, CFGrapher.DEFAULT

Method Summary
 List<E> edgeC()
          Returns a List of all the edges to and from this HCodeElement.
 E[] edges()
          Returns an array of all the edges to and from this CFGraphable.
 E[] pred()
          Returns an array of all the edges entering this CFGraphable.
 List<E> predC()
          Returns a List of all the edges to this HCodeElement.
 E[] succ()
          Returns an array of all the edges leaving this CFGraphable.
 List<E> succC()
          Returns a List of all the edges from this HCodeElement.
 
Methods inherited from interface harpoon.ClassFile.HCodeElement
getID, getLineNumber, getSourceFile
 
Methods inherited from interface harpoon.Util.Collections.Graph.Node
isPred, isSucc
 

Method Detail

edges

E[] edges()
Returns an array of all the edges to and from this CFGraphable.


pred

E[] pred()
Returns an array of all the edges entering this CFGraphable.


succ

E[] succ()
Returns an array of all the edges leaving this CFGraphable.


edgeC

List<E> edgeC()
Returns a List of all the edges to and from this HCodeElement.


predC

List<E> predC()
Returns a List of all the edges to this HCodeElement. Each CFGEdge returned is guaranteed to return this in response to a call to to(); the actual predecessor will be returned from from().

Specified by:
predC in interface Graph.Node<CFG extends CFGraphable<CFG,E>,E extends CFGEdge<CFG,E>>

succC

List<E> succC()
Returns a List of all the edges from this HCodeElement. Each CFGEdge returned is guaranteed to return this in response to a call to from(); the actual successor to this will be returned from to().

Specified by:
succC in interface Graph.Node<CFG extends CFGraphable<CFG,E>,E extends CFGEdge<CFG,E>>