abc.ra.ast
Class AdviceDecl_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.aspectj.ast.AdviceDecl_c
                  extended by abc.ra.ast.AdviceDecl_c
All Implemented Interfaces:
AdviceDecl, MakesAspectMethods, ContainsAspectInfo, TransformsAspectReflection
Direct Known Subclasses:
RelAdviceDecl_c

public class AdviceDecl_c
extends AdviceDecl_c
implements AdviceDecl

Custom advice declaration with enhanced type check.

Author:
Eric Bodden

Field Summary
 
Fields inherited from class abc.aspectj.ast.AdviceDecl_c
pc, retval, spec
 
Fields inherited from class abc.aspectj.ast.AdviceBody_c
canRewriteThisJoinPoint, hasEnclosingJoinPointStaticPart, hasJoinPoint, hasJoinPointStaticPart, isAroundAdvice, methodsInAdvice, thisEnclosingJoinPointStaticPartInstance, thisJoinPointInstance, thisJoinPointStaticPartInstance
 
Constructor Summary
AdviceDecl_c(Position pos, Flags flags, AdviceSpec spec, java.util.List throwTypes, Pointcut pc, Block body)
           
 
Method Summary
 Node typeCheck(TypeChecker tc)
          In addition to normal type checks, verifies that no RelationalAround spec is used as advice spec.
 
Methods inherited from class abc.aspectj.ast.AdviceDecl_c
acceptCFG, addExtraFormals, adviceSignature, disambiguateEnter, enterScope, entry, prettyPrint, proceedDecl, reconstruct, update, visitChildren
 
Methods inherited from class abc.aspectj.ast.AdviceBody_c
aspectMethodsEnter, aspectMethodsLeave, buildTypes, dummyVal, enterAspectReflectionInspect, enterAspectReflectionRewrite, enterScope, 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.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

AdviceDecl_c

public AdviceDecl_c(Position pos,
                    Flags flags,
                    AdviceSpec spec,
                    java.util.List throwTypes,
                    Pointcut pc,
                    Block body)
See Also:
AdviceDecl_c.AdviceDecl_c(Position, Flags, AdviceSpec, List, Pointcut, Block)
Method Detail

typeCheck

public Node typeCheck(TypeChecker tc)
               throws SemanticException
In addition to normal type checks, verifies that no RelationalAround spec is used as advice spec.

Overrides:
typeCheck in class AdviceDecl_c
Throws:
SemanticException