abc.aspectj.visit
Class AspectInfoHarvester

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

public class AspectInfoHarvester
extends ContextVisitor

Picks up all AST nodes that implement ContainsAspectInfo and tells them to put their information into the GlobalAspectInfo.

Author:
Aske Simon Christensen, Oege de Moor

Constructor Summary
AspectInfoHarvester(Job job, TypeSystem ts, NodeFactory nf)
           
 
Method Summary
static java.util.List convertArgPatterns(java.util.List nodes)
          Convert a list of polyglot nodes representing argument patterns.
static java.util.List convertFormals(java.util.List pformals)
          Convert a list of polyglot formals into aspect info formals.
 NodeVisitor enter(Node parent, Node n)
           
 Node leave(Node parent, Node old, Node n, NodeVisitor v)
           
static java.util.Map pointcutDeclarationMap()
           
static void reset()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AspectInfoHarvester

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

reset

public static void reset()

enter

public NodeVisitor enter(Node parent,
                         Node n)

leave

public Node leave(Node parent,
                  Node old,
                  Node n,
                  NodeVisitor v)

convertArgPatterns

public static java.util.List convertArgPatterns(java.util.List nodes)
Convert a list of polyglot nodes representing argument patterns.

Parameters:
nodes - a list containing polyglot.ast.Local, polyglot.types.TypeNode, ArgStar and ArgDotDot objects.
Returns:
a list of ArgPattern objects.

convertFormals

public static java.util.List convertFormals(java.util.List pformals)
Convert a list of polyglot formals into aspect info formals.

Parameters:
pformals - a list of polyglot.ast.Formal objects.
Returns:
a list of Formal objects.

pointcutDeclarationMap

public static java.util.Map pointcutDeclarationMap()