harpoon.Tools.PatMat
Class Spec.StmCall

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

public static class Spec.StmCall
extends Spec.Stm

Extension of Spec.Stm that represents a call to a procedure.

See Also:
CALL

Field Summary
 String arglist
          Arguments being passed to procedure.
 Spec.Exp func
          Function location expression.
 String handler
          Exception handler label.
 String retex
          Exception value destination expression.
 String retval
          Return value destination expression.
 
Constructor Summary
Spec.StmCall(String retval, String retex, Spec.Exp func, String arglist, String handler)
          Constructs a new Spec.StmCall.
 
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

retval

public final String retval
Return value destination expression.

See Also:
TEMP

retex

public final String retex
Exception value destination expression.

See Also:
TEMP

func

public final Spec.Exp func
Function location expression.

See Also:
Exp

arglist

public final String arglist
Arguments being passed to procedure.

See Also:
harpoon.IR.Tree.TempList

handler

public final String handler
Exception handler label.

See Also:
NAME
Constructor Detail

Spec.StmCall

public Spec.StmCall(String retval,
                    String retex,
                    Spec.Exp func,
                    String arglist,
                    String handler)
Constructs a new Spec.StmCall.

Parameters:
retval - Return value destination expression.
retex - Exception value destination expression.
func - Function location expression.
arglist - Arguments.
handler - Exception handler location.
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