tip.node
Class PExp

java.lang.Object
  extended by tip.node.Node
      extended by tip.node.PExp
All Implemented Interfaces:
Cloneable, ITyped, NodeInterface
Direct Known Subclasses:
ABinopExp, ADerefExp, AFunctionCallExp, AFunctionPtrCallExp, AInputExp, AIntConstExp, AMallocExp, ANullExp, APointerExp, AVarExp

public abstract class PExp
extends Node
implements ITyped

PExp is the super class of all exp classes.


Constructor Summary
PExp()
           
 
Method Summary
abstract  PExp clone()
          Returns a deep clone of this PExp node.
abstract  PExp clone(Map<Node,Node> oldToNewMap)
          Creates a deep clone of this PExp node while putting all old node-new node relations in the map oldToNewMap.
abstract  Type getType()
          Returns the type field of this PExp node.
 NodeEnum kindNode()
          Returns the NodeEnum corresponding to the type of this Node node.
abstract  EExp kindPExp()
          Returns the EExp corresponding to the type of this PExp node.
abstract  void setType(Type value)
          Sets the type field of this PExp node.
 
Methods inherited from class tip.node.Node
apply, apply, apply, apply, checkOptionalInvariant, getAncestor, getAncestor, getAncestor, getChildren, getChildren, getChildren, getDescendants, getDescendants, getDescendants, getDescendants, isOptionalInvariant, parent, replaceBy, setOptionalInvariant
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface tip.node.NodeInterface
apply, apply, apply, apply, checkOptionalInvariant, getAncestor, getAncestor, getAncestor, getChildren, getChildren, getChildren, getDescendants, getDescendants, getDescendants, getDescendants, isOptionalInvariant, parent, replaceBy, setOptionalInvariant
 

Constructor Detail

PExp

public PExp()
Method Detail

clone

public abstract PExp clone()
Returns a deep clone of this PExp node.

Specified by:
clone in interface NodeInterface
Specified by:
clone in class Node
Returns:
a deep clone of this PExp node

clone

public abstract PExp clone(Map<Node,Node> oldToNewMap)
Creates a deep clone of this PExp node while putting all old node-new node relations in the map oldToNewMap.

Specified by:
clone in interface NodeInterface
Specified by:
clone in class Node
Parameters:
oldToNewMap - the map filled with the old node-new node relation
Returns:
a deep clone of this PExp node

getType

public abstract Type getType()
Returns the type field of this PExp node.

Specified by:
getType in interface ITyped
Returns:
the type field of this PExp node

setType

public abstract void setType(Type value)
Sets the type field of this PExp node.

Specified by:
setType in interface ITyped
Parameters:
value - the new type field of this PExp node

kindPExp

public abstract EExp kindPExp()
Returns the EExp corresponding to the type of this PExp node.

Returns:
the EExp for this node

kindNode

public NodeEnum kindNode()
Returns the NodeEnum corresponding to the type of this Node node.

Specified by:
kindNode in class Node
Returns:
the NodeEnum for this node