abc.ra.ast
Class RelAdviceTMDecl_c

java.lang.Object
  extended by MethodDecl_c
      extended by abc.aspectj.extension.AJMethodDecl_c
          extended by abc.aspectj.ast.AdviceBody_c
              extended by abc.tm.ast.TMDecl_c
                  extended by abc.ra.ast.RelTMDecl_c
                      extended by abc.ra.ast.RelAdviceTMDecl_c
All Implemented Interfaces:
AdviceDecl, MakesAspectMethods, ContainsAspectInfo, TransformsAspectReflection, RelTMDecl, TMDecl

public class RelAdviceTMDecl_c
extends RelTMDecl_c

A relational tracematch equivalent to a relational advice.

Author:
Eric Bodden

Field Summary
 
Fields inherited from class abc.tm.ast.TMDecl_c
after_pc, after_spec, before_around_pc, before_around_spec, frequent_symbols, isAround, isPerThread, regex, some_advice, sym_to_advice_name, sym_to_vars, symbols, synch_advice, tracematch_name
 
Fields inherited from class abc.aspectj.ast.AdviceBody_c
canRewriteThisJoinPoint, hasEnclosingJoinPointStaticPart, hasJoinPoint, hasJoinPointStaticPart, isAroundAdvice, methodsInAdvice, thisEnclosingJoinPointStaticPartInstance, thisJoinPointInstance, thisJoinPointStaticPartInstance
 
Constructor Summary
RelAdviceTMDecl_c(Position pos, AdviceSpec spec, Pointcut pc, java.util.List formals, java.util.List throwTypes, Block body, RelAspectDecl container, RelAdviceDecl originator, RANodeFactory nf, TypeSystem ts)
           
 
Method Summary
 Node typeCheck(TypeChecker tc)
          Typechecks this relational advice.
 
Methods inherited from class abc.ra.ast.RelTMDecl_c
genNormalTraceMatch
 
Methods inherited from class abc.tm.ast.TMDecl_c
acceptCFG, adviceSignature, aroundTypes, aroundVars, aspectMethodsEnter, bodyAdviceFormals, checkAroundSymbols, checkAroundVars, checkBinding, checkForEmptyTrace, disambiguateEnter, enterScope, formalFor, generateImplementationAdvice, makeEventAdvice, makeSymbolAdvice, mustBind, orderedSymToVars, orPC, prettyPrint, proceedDecl, reconstruct, thisJoinPointVariables, update, visitChildren, weavingFormals
 
Methods inherited from class abc.aspectj.ast.AdviceBody_c
addExtraFormals, aspectMethodsLeave, buildTypes, dummyVal, enterAspectReflectionInspect, enterAspectReflectionRewrite, enterScope, entry, hasEnclosingJoinPointStaticPart, hasJoinPoint, hasJoinPointStaticPart, joinpointFormals, leaveAspectReflectionInspect, leaveAspectReflectionRewrite, localMethod, makeMethodInstance, methodDecl
 
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.TMDecl
generateImplementationAdvice
 
Methods inherited from interface abc.aspectj.ast.AdviceDecl
hasJoinPoint, hasJoinPointStaticPart, joinpointFormals, localMethod, methodDecl, proceedDecl
 
Methods inherited from interface abc.aspectj.ast.MakesAspectMethods
aspectMethodsEnter, aspectMethodsLeave
 
Methods inherited from interface abc.aspectj.visit.TransformsAspectReflection
enterAspectReflectionInspect, enterAspectReflectionRewrite, leaveAspectReflectionInspect, leaveAspectReflectionRewrite
 

Constructor Detail

RelAdviceTMDecl_c

public RelAdviceTMDecl_c(Position pos,
                         AdviceSpec spec,
                         Pointcut pc,
                         java.util.List formals,
                         java.util.List throwTypes,
                         Block body,
                         RelAspectDecl container,
                         RelAdviceDecl originator,
                         RANodeFactory nf,
                         TypeSystem ts)
Method Detail

typeCheck

public Node typeCheck(TypeChecker tc)
               throws SemanticException
Description copied from class: RelTMDecl_c
Typechecks this relational advice. The tracematch may only be contained in a relational aspect. Also, it may not declare any tracematch formals that have the same name as any of the relational aspect formals.

Overrides:
typeCheck in class RelTMDecl_c
Throws:
SemanticException