abc.ltl.visit.transform
Class AdviceGeneration

java.lang.Object
  extended by NodeVisitor
      extended by abc.ltl.visit.transform.PointcutsVisitor
          extended by abc.ltl.visit.transform.AdviceGeneration

public class AdviceGeneration
extends PointcutsVisitor


Field Summary
 
Fields inherited from class abc.ltl.visit.transform.PointcutsVisitor
enclosingAspect, formula, nf, pointcuts, ts
 
Constructor Summary
AdviceGeneration(AJNodeFactory nf, TypeSystem ts)
           
 
Method Summary
protected  Block addBindingsCode(Position pos, Block block, Formal formal)
           
protected  AdviceDecl initializationAdvice(Position pos)
          Generates an advice with emtpy block which is to be executed before any main method.
 Node leave(Node old, Node n, NodeVisitor v)
          
protected  AdviceDecl propositionAdvice(Position pos, Pointcut pc, EntryExit.EntryExitKind entryExitInfo)
           
protected  AdviceDecl transitionAdvice(Position pos, boolean beforeAdvice)
           
 
Methods inherited from class abc.ltl.visit.transform.PointcutsVisitor
enter, seal, visitEdge
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AdviceGeneration

public AdviceGeneration(AJNodeFactory nf,
                        TypeSystem ts)
Parameters:
nf -
ts -
Method Detail

leave

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

Overrides:
leave in class PointcutsVisitor

propositionAdvice

protected AdviceDecl propositionAdvice(Position pos,
                                       Pointcut pc,
                                       EntryExit.EntryExitKind entryExitInfo)
Parameters:
pos - TODO
pc -
beforeAdvice -
Returns:
Throws:
SemanticException

addBindingsCode

protected Block addBindingsCode(Position pos,
                                Block block,
                                Formal formal)
Parameters:
pos -
block -
formal -
Returns:

transitionAdvice

protected AdviceDecl transitionAdvice(Position pos,
                                      boolean beforeAdvice)
Parameters:
pos -
beforeAdvice -
Returns:

initializationAdvice

protected AdviceDecl initializationAdvice(Position pos)
Generates an advice with emtpy block which is to be executed before any main method. This is to just have the aspect class loaded at runtime (actually onle necessary for existential formulae (F,U), since those are nonfinal).

Parameters:
pos -
Returns: