harpoon.Tools.PatMat
Class Spec.StmMove

java.lang.Object
  extended by harpoon.Tools.PatMat.Spec.Stm
      extended by harpoon.Tools.PatMat.Spec.StmMove
Enclosing class:
Spec

public static class Spec.StmMove
extends Spec.Stm

Extension of Spec.Stm representing an expression which moves a value from one place to another.

See Also:
MOVE

Field Summary
 Spec.Exp dst
          Expression yielding the destination of this move.
 Spec.Exp src
          Expression yielding the source data of this move.
 Spec.TypeSet types
          The set of Types that src and dst may be (they will always be the same type).
 
Constructor Summary
Spec.StmMove(Spec.TypeSet types, Spec.Exp dst, Spec.Exp src)
          Constructs a new Spec.StmMove.
 
Method Summary
 void accept(Spec.StmVisitor v)
          Applies v's visit method to this.
 Spec.Stm build(Spec.ExpList kids)
          Creates a new Spec.Stm similar to this one, using the provided Spec.ExpList of children.
 Spec.ExpList kids()
          Creates an Spec.ExpList of children of this Spec.Stm.
 String toString()
           
 
Methods inherited from class harpoon.Tools.PatMat.Spec.Stm
canBeRootOfData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

types

public final Spec.TypeSet types
The set of Types that src and dst may be (they will always be the same type).


dst

public final Spec.Exp dst
Expression yielding the destination of this move.


src

public final Spec.Exp src
Expression yielding the source data of this move.

Constructor Detail

Spec.StmMove

public Spec.StmMove(Spec.TypeSet types,
                    Spec.Exp dst,
                    Spec.Exp src)
Constructs a new Spec.StmMove.

Parameters:
dst - Destination expression.
src - Source expression.
Method Detail

accept

public void accept(Spec.StmVisitor v)
Description copied from class: Spec.Stm
Applies v's visit method to this. This is effectively a gludge to emulate multiple dispatch. Must be reimplemented by all subclasses of Spec.Stm.
effects: Calls v.visit(this).

Specified by:
accept in class Spec.Stm
See Also:
"Design Patterns pgs. 331-344"

build

public Spec.Stm build(Spec.ExpList kids)
Description copied from class: Spec.Stm
Creates a new Spec.Stm similar to this one, using the provided Spec.ExpList of children.

Specified by:
build in class Spec.Stm

kids

public Spec.ExpList kids()
Description copied from class: Spec.Stm
Creates an Spec.ExpList of children of this Spec.Stm.

Specified by:
kids in class Spec.Stm

toString

public String toString()
Overrides:
toString in class Object