abc.ra.ast
Class AssociateSymbolDecl_c

java.lang.Object
  extended by Node_c
      extended by abc.tm.ast.SymbolDecl_c
          extended by abc.ra.ast.AssociateSymbolDecl_c
All Implemented Interfaces:
AssociateSymbolDecl, SymbolDecl

public class AssociateSymbolDecl_c
extends SymbolDecl_c
implements AssociateSymbolDecl

Declaration of an associate symbol for the translation of a relational advice. Matches on call(* RelationalAspectName.associate(T1,...,Tn)).

Author:
Eric Bodden

Field Summary
 
Fields inherited from class abc.tm.ast.SymbolDecl_c
kind, name, pc
 
Constructor Summary
AssociateSymbolDecl_c(Position pos, java.lang.String name, java.lang.String tracematch_name, boolean bindAspectInstanceInReturn, RelAspectDecl container, TMNodeFactory nf)
           
 
Method Summary
 AdviceDecl generateSymbolAdvice(TMNodeFactory nf, java.util.List formals, TypeNode voidn, java.lang.String tm_id, Position tm_pos)
          Generates a symbol advice with a custom warning.
 
Methods inherited from class abc.tm.ast.SymbolDecl_c
aroundVars, binds, body, enterScope, generateClosedPointcut, getPointcut, getSymbolKind, kind, name, reconstruct, typeCheck, visitChildren
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface abc.tm.ast.SymbolDecl
aroundVars, binds, body, generateClosedPointcut, getPointcut, getSymbolKind, kind, name
 

Constructor Detail

AssociateSymbolDecl_c

public AssociateSymbolDecl_c(Position pos,
                             java.lang.String name,
                             java.lang.String tracematch_name,
                             boolean bindAspectInstanceInReturn,
                             RelAspectDecl container,
                             TMNodeFactory nf)
Method Detail

generateSymbolAdvice

public AdviceDecl generateSymbolAdvice(TMNodeFactory nf,
                                       java.util.List formals,
                                       TypeNode voidn,
                                       java.lang.String tm_id,
                                       Position tm_pos)
Generates a symbol advice with a custom warning. This is because in the case that the associate-symbol never matches, the warning should be saying that the relational aspect is never associated rather than that the symbol never matches.

Specified by:
generateSymbolAdvice in interface SymbolDecl
Overrides:
generateSymbolAdvice in class SymbolDecl_c