SandMark version 3.0


sandmark.obfuscate.loop.dfa
Class DFANode

java.lang.Object
  |
  +--sandmark.obfuscate.loop.dfa.DFANode

public class DFANode
extends java.lang.Object

A DFANode represents a node in a deterministic finite automata which models the dependency relationships between program transformations and how they affect the order in which the transformations can be applied to different application objects.

Author:
Kelly Heffner

Field Summary
(package private) static int allLabels
           
(package private)  int tempLabel
           
 
Constructor Summary
DFANode(java.lang.String label, boolean accept)
          Constructs a DFA Node with a given label (used for the DOT graph representation)
 
Method Summary
 void addIncomingEdge(DFAEdge edge)
           
 void addOutgoingEdge(DFAEdge edge)
           
 DFAEdge[] getIncomingEdges()
          Returns the list of outgoing edges from this node.
 java.lang.String getLabel()
           
 DFAEdge[] getOutgoingEdges()
          Returns the list of outgoing edges from this node.
 boolean isAccept()
           
 void removeIncomingEdge(DFAEdge edge)
           
 void removeOutgoingEdge(DFAEdge edge)
           
 void setAccept(boolean a)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tempLabel

int tempLabel

allLabels

static int allLabels
Constructor Detail

DFANode

public DFANode(java.lang.String label,
               boolean accept)
Constructs a DFA Node with a given label (used for the DOT graph representation)

Method Detail

isAccept

public boolean isAccept()

setAccept

public void setAccept(boolean a)

getLabel

public java.lang.String getLabel()

addOutgoingEdge

public void addOutgoingEdge(DFAEdge edge)

removeOutgoingEdge

public void removeOutgoingEdge(DFAEdge edge)

getOutgoingEdges

public DFAEdge[] getOutgoingEdges()
Returns the list of outgoing edges from this node. Modifications to this list will not change the original (shallow copy).


addIncomingEdge

public void addIncomingEdge(DFAEdge edge)

removeIncomingEdge

public void removeIncomingEdge(DFAEdge edge)

getIncomingEdges

public DFAEdge[] getIncomingEdges()
Returns the list of outgoing edges from this node. Modifications to this list will not change the original (shallow copy).


SandMark version 3.0

Wed Jan 29 10:30:05 MST 2003