abc.aspectj.visit
Class AspectMethods

java.lang.Object
  extended by ContextVisitor
      extended by abc.aspectj.visit.AspectMethods

public class AspectMethods
extends ContextVisitor

Author:
Oege de Moor, Julian Tibble

Field Summary
 AJNodeFactory nf
           
 AJTypeSystem ts
           
 
Constructor Summary
AspectMethods(Job job, NodeFactory nf, TypeSystem ts)
           
 
Method Summary
 void addMethod(MethodDecl md)
           
 AdviceDecl advice()
           
 ParsedClassType container()
           
 NodeVisitor enterCall(Node parent, Node n)
           
 java.util.List formals()
           
 IntertypeDecl intertypeDecl()
           
 boolean isAdvice()
           
 boolean isPCIf()
           
protected  Node leaveCall(Node old, Node n, NodeVisitor v)
           
 Expr lhs()
           
 java.util.List methods()
           
 PCIf pcif()
           
 void popAdvice()
           
 void popClass()
           
 void popContainer()
           
 void popFormals()
           
 void popIntertypeDecl()
           
 void popLhs()
           
 void popPCIf()
           
 void popProceed()
           
 MethodDecl proceed()
           
 void pushAdvice(AdviceDecl ad)
           
 void pushClass()
           
 void pushContainer(ParsedClassType c)
           
 void pushFormals(java.util.List fs)
           
 void pushIntertypeDecl(IntertypeDecl i)
           
 void pushLhs(Expr lhs)
           
 void pushPCIf(PCIf pcif)
           
 void pushProceedFor(AdviceDecl ad)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nf

public AJNodeFactory nf

ts

public AJTypeSystem ts
Constructor Detail

AspectMethods

public AspectMethods(Job job,
                     NodeFactory nf,
                     TypeSystem ts)
Method Detail

pushClass

public void pushClass()

popClass

public void popClass()

addMethod

public void addMethod(MethodDecl md)

methods

public java.util.List methods()

pushFormals

public void pushFormals(java.util.List fs)

formals

public java.util.List formals()

popFormals

public void popFormals()

pushProceedFor

public void pushProceedFor(AdviceDecl ad)

proceed

public MethodDecl proceed()

popProceed

public void popProceed()

pushAdvice

public void pushAdvice(AdviceDecl ad)

advice

public AdviceDecl advice()

isAdvice

public boolean isAdvice()

popAdvice

public void popAdvice()

pushContainer

public void pushContainer(ParsedClassType c)

container

public ParsedClassType container()

popContainer

public void popContainer()

pushIntertypeDecl

public void pushIntertypeDecl(IntertypeDecl i)

intertypeDecl

public IntertypeDecl intertypeDecl()

popIntertypeDecl

public void popIntertypeDecl()

pushLhs

public void pushLhs(Expr lhs)

lhs

public Expr lhs()

popLhs

public void popLhs()

pushPCIf

public void pushPCIf(PCIf pcif)

pcif

public PCIf pcif()

isPCIf

public boolean isPCIf()

popPCIf

public void popPCIf()

enterCall

public NodeVisitor enterCall(Node parent,
                             Node n)
                      throws SemanticException
Throws:
SemanticException

leaveCall

protected Node leaveCall(Node old,
                         Node n,
                         NodeVisitor v)
                  throws SemanticException
Throws:
SemanticException