abc.aspectj.ast
Class PointcutDecl_c

java.lang.Object
  extended by MethodDecl_c
      extended by abc.aspectj.ast.PointcutDecl_c
All Implemented Interfaces:
MakesAspectMethods, PointcutDecl, ContainsAspectInfo, DependsCheck
Direct Known Subclasses:
GlobalPointcutDecl_c

public class PointcutDecl_c
extends MethodDecl_c
implements PointcutDecl, ContainsAspectInfo, MakesAspectMethods, DependsCheck

Author:
Oege de Moor, Aske Simon Christensen, Julian Tibble

Field Summary
protected  java.lang.String name
           
protected  Pointcut pc
           
 
Constructor Summary
PointcutDecl_c(Position pos, Flags flags, java.lang.String name, java.util.List formals, Pointcut pc)
           
 
Method Summary
 void aspectMethodsEnter(AspectMethods visitor)
           
 Node aspectMethodsLeave(AspectMethods visitor, AJNodeFactory nf, AJTypeSystem ts)
           
 Node buildTypes(TypeBuilder tb)
          build the type
 Node checkDepends(DependsChecker dc)
           
 NodeVisitor disambiguateEnter(AmbiguityRemover ar)
           
protected  MethodInstance makeMethodInstance(ClassType ct, TypeSystem ts)
           
 void prettyPrint(CodeWriter w, PrettyPrinter tr)
           
protected  PointcutDecl_c reconstruct(java.util.List formals, Pointcut pc)
           
 Node typeCheck(TypeChecker tc)
          Type check the pointcut decl.
 void update(GlobalAspectInfo gai, Aspect current_aspect)
          Called by the AspectInfoHarvester to tell the node to put all relevant information into the GlobalAspectInfo.
 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

pc

protected Pointcut pc
Constructor Detail

PointcutDecl_c

public PointcutDecl_c(Position pos,
                      Flags flags,
                      java.lang.String name,
                      java.util.List formals,
                      Pointcut pc)
Method Detail

reconstruct

protected PointcutDecl_c reconstruct(java.util.List formals,
                                     Pointcut pc)

visitChildren

public Node visitChildren(NodeVisitor v)

disambiguateEnter

public NodeVisitor disambiguateEnter(AmbiguityRemover ar)
                              throws SemanticException
Throws:
SemanticException

buildTypes

public Node buildTypes(TypeBuilder tb)
                throws SemanticException
build the type

Throws:
SemanticException

makeMethodInstance

protected MethodInstance makeMethodInstance(ClassType ct,
                                            TypeSystem ts)
                                     throws SemanticException
Throws:
SemanticException

typeCheck

public Node typeCheck(TypeChecker tc)
               throws SemanticException
Type check the pointcut decl.

Throws:
SemanticException

checkDepends

public Node checkDepends(DependsChecker dc)
                  throws SemanticException
Specified by:
checkDepends in interface DependsCheck
Throws:
SemanticException

prettyPrint

public void prettyPrint(CodeWriter w,
                        PrettyPrinter tr)

update

public void update(GlobalAspectInfo gai,
                   Aspect current_aspect)
Description copied from interface: ContainsAspectInfo
Called by the AspectInfoHarvester to tell the node to put all relevant information into the GlobalAspectInfo.

Specified by:
update in interface ContainsAspectInfo
Parameters:
gai - the target of the information.
current_aspect - the aspect currently being traversed.

aspectMethodsEnter

public void aspectMethodsEnter(AspectMethods visitor)
Specified by:
aspectMethodsEnter in interface MakesAspectMethods

aspectMethodsLeave

public Node aspectMethodsLeave(AspectMethods visitor,
                               AJNodeFactory nf,
                               AJTypeSystem ts)
Specified by:
aspectMethodsLeave in interface MakesAspectMethods