|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.ObjectMethodDecl_c
abc.aspectj.extension.AJMethodDecl_c
abc.aspectj.ast.AdviceBody_c
abc.aspectj.ast.AdviceDecl_c
public class AdviceDecl_c
Declarations of advice, for example
before(int x) // the "advice spec"
:
call(* fac(*)) && args(x) // pointcut
{ System.out.println(x);} // body
| Field Summary | |
|---|---|
protected Pointcut |
pc
pointcut that specifies the joinpoints where this advice applies |
protected AdviceFormal |
retval
the return formal, for afterreturning and
afterthrowing advice |
protected AdviceSpec |
spec
advice specification (e.g. |
| 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 | |
|---|---|
java.util.List |
acceptCFG(CFGBuilder v,
java.util.List succs)
Visit this term in evaluation order. |
protected void |
addExtraFormals(AJNodeFactory nf,
AJTypeSystem ts,
java.util.List formals,
java.util.List formalTypes)
|
protected java.lang.String |
adviceSignature()
|
NodeVisitor |
disambiguateEnter(AmbiguityRemover ar)
|
Context |
enterScope(Node child,
Context c)
|
Term |
entry()
|
void |
prettyPrint(CodeWriter w,
PrettyPrinter tr)
|
MethodDecl |
proceedDecl(AJNodeFactory nf,
AJTypeSystem ts)
generate a dummy MethodDecl for the proceed. |
protected AdviceDecl_c |
reconstruct(TypeNode returnType,
java.util.List formals,
java.util.List throwTypes,
Block body,
AdviceSpec spec,
AdviceFormal retval,
Pointcut pc)
|
Node |
typeCheck(TypeChecker tc)
Type check the advice: first the usual method checks, then whether the "throwing" result is actually throwable |
void |
update(GlobalAspectInfo gai,
Aspect current_aspect)
Called by the AspectInfoHarvester to tell the node to
put all relevant information into the GlobalAspectInfo. |
Node |
visitChildren(NodeVisitor v)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected AdviceSpec spec
before(formals), around(..), after returning(..) )
protected Pointcut pc
protected AdviceFormal retval
afterreturning and
afterthrowing advice
| Constructor Detail |
|---|
public AdviceDecl_c(Position pos,
Flags flags,
AdviceSpec spec,
java.util.List throwTypes,
Pointcut pc,
Block body)
| Method Detail |
|---|
protected AdviceDecl_c reconstruct(TypeNode returnType,
java.util.List formals,
java.util.List throwTypes,
Block body,
AdviceSpec spec,
AdviceFormal retval,
Pointcut pc)
public Node visitChildren(NodeVisitor v)
public NodeVisitor disambiguateEnter(AmbiguityRemover ar)
throws SemanticException
disambiguateEnter in class AdviceBody_cSemanticException
public MethodDecl proceedDecl(AJNodeFactory nf,
AJTypeSystem ts)
AdviceDecl
proceedDecl in interface AdviceDeclproceedDecl in class AdviceBody_c
protected void addExtraFormals(AJNodeFactory nf,
AJTypeSystem ts,
java.util.List formals,
java.util.List formalTypes)
addExtraFormals in class AdviceBody_cprotected java.lang.String adviceSignature()
adviceSignature in class AdviceBody_c
public Context enterScope(Node child,
Context c)
enterScope in class AdviceBody_c
public Node typeCheck(TypeChecker tc)
throws SemanticException
typeCheck in class AdviceBody_cSemanticException
public void prettyPrint(CodeWriter w,
PrettyPrinter tr)
prettyPrint in class AdviceBody_c
public void update(GlobalAspectInfo gai,
Aspect current_aspect)
ContainsAspectInfoAspectInfoHarvester to tell the node to
put all relevant information into the GlobalAspectInfo.
gai - the target of the information.current_aspect - the aspect currently being traversed.public Term entry()
entry in class AdviceBody_c
public java.util.List acceptCFG(CFGBuilder v,
java.util.List succs)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||