harpoon.Tools.PatMat
Class Spec.ExpMem

java.lang.Object
  extended by harpoon.Tools.PatMat.Spec.Exp
      extended by harpoon.Tools.PatMat.Spec.ExpMem
Enclosing class:
Spec

public static class Spec.ExpMem
extends Spec.Exp

Extension of Spec.Exp that represents a Memory Access in the code (could be either Load or Store; Context-Sensitive).

See Also:
MEM

Field Summary
 Spec.Exp addr
          The expression that computes the address of memory represented by this.
 Spec.TypeSet types
          The set of types that the values at addr may be.
 
Constructor Summary
Spec.ExpMem(Spec.TypeSet types, Spec.Exp addr)
          Constructs a Spec.ExpMem.
 
Method Summary
 void accept(Spec.ExpVisitor v)
          Applies v's visit method to this.
 Spec.Exp build(Spec.ExpList kids)
          Creates a new Spec.Exp similar to this one, using the provided Spec.ExpList of children.
 Spec.ExpList kids()
          Creates an Spec.ExpList of children of this Spec.Exp.
 String toString()
           
 
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 the values at addr may be.


addr

public final Spec.Exp addr
The expression that computes the address of memory represented by this.

Constructor Detail

Spec.ExpMem

public Spec.ExpMem(Spec.TypeSet types,
                   Spec.Exp addr)
Constructs a Spec.ExpMem.

Parameters:
types - Types that the value at addr may be.
addr - Address of memory for this.
Method Detail

accept

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

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

build

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

Specified by:
build in class Spec.Exp

kids

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

Specified by:
kids in class Spec.Exp

toString

public String toString()
Overrides:
toString in class Object