abc.tm.ast
Class SymbolDecl_c

java.lang.Object
  extended by Node_c
      extended by abc.tm.ast.SymbolDecl_c
All Implemented Interfaces:
SymbolDecl
Direct Known Subclasses:
AdviceSymbolDeclaration_c, AssociateSymbolDecl_c, ReleaseSymbolDecl_c, StartSymbolDecl_c

public class SymbolDecl_c
extends Node_c
implements SymbolDecl

Author:
Julian Tibble

Field Summary
protected  SymbolKind kind
           
protected  java.lang.String name
           
protected  Pointcut pc
           
 
Constructor Summary
SymbolDecl_c(Position pos, java.lang.String name, SymbolKind kind, Pointcut pc)
           
 
Method Summary
 java.util.List aroundVars()
           
 java.util.Collection binds()
           
 Block body(TMNodeFactory nf, java.lang.String debug_msg, TypeNode ret_type)
          Create an empty advice body (contains debug print statement if debug_tm_advice is set).
 Context enterScope(Context c)
           
 Pointcut generateClosedPointcut(TMNodeFactory nf, java.util.List formals)
           
 AdviceDecl generateSymbolAdvice(TMNodeFactory nf, java.util.List formals, TypeNode voidn, java.lang.String tm_id, Position tm_pos)
           
 Pointcut getPointcut()
           
 SymbolKind getSymbolKind()
           
 java.lang.String kind()
           
 java.lang.String name()
           
protected  Node reconstruct(Node n, SymbolKind kind, Pointcut pc)
           
 Node typeCheck(TypeChecker tc)
           
 Node visitChildren(NodeVisitor v)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

protected java.lang.String name

kind

protected SymbolKind kind

pc

protected Pointcut pc
Constructor Detail

SymbolDecl_c

public SymbolDecl_c(Position pos,
                    java.lang.String name,
                    SymbolKind kind,
                    Pointcut pc)
Method Detail

name

public java.lang.String name()
Specified by:
name in interface SymbolDecl

getPointcut

public Pointcut getPointcut()
Specified by:
getPointcut in interface SymbolDecl

kind

public java.lang.String kind()
Specified by:
kind in interface SymbolDecl

getSymbolKind

public SymbolKind getSymbolKind()
Specified by:
getSymbolKind in interface SymbolDecl

binds

public java.util.Collection binds()
Specified by:
binds in interface SymbolDecl

enterScope

public Context enterScope(Context c)

typeCheck

public Node typeCheck(TypeChecker tc)
               throws SemanticException
Throws:
SemanticException

reconstruct

protected Node reconstruct(Node n,
                           SymbolKind kind,
                           Pointcut pc)

visitChildren

public Node visitChildren(NodeVisitor v)

generateSymbolAdvice

public AdviceDecl generateSymbolAdvice(TMNodeFactory nf,
                                       java.util.List formals,
                                       TypeNode voidn,
                                       java.lang.String tm_id,
                                       Position tm_pos)
Specified by:
generateSymbolAdvice in interface SymbolDecl

body

public Block body(TMNodeFactory nf,
                  java.lang.String debug_msg,
                  TypeNode ret_type)
Create an empty advice body (contains debug print statement if debug_tm_advice is set).

Specified by:
body in interface SymbolDecl

generateClosedPointcut

public Pointcut generateClosedPointcut(TMNodeFactory nf,
                                       java.util.List formals)
Specified by:
generateClosedPointcut in interface SymbolDecl

aroundVars

public java.util.List aroundVars()
Specified by:
aroundVars in interface SymbolDecl