|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectabc.weaving.aspectinfo.Syntax
abc.weaving.aspectinfo.Pointcut
abc.weaving.aspectinfo.DynamicValuePointcut
abc.weaving.aspectinfo.ThisAny
public class ThisAny
Handler for this
condition pointcut with a
universal pattern argument.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class abc.weaving.aspectinfo.Pointcut |
---|
Pointcut.DNF |
Constructor Summary | |
---|---|
ThisAny(Position pos)
|
Method Summary | |
---|---|
void |
getFreeVars(java.util.Set result)
Get a list of free variables bound by this pointcut |
protected Residue |
matchesAt(WeavingEnv we,
ContextValue cv)
|
Residue |
matchesAt(WeavingEnv we,
SootClass cls,
SootMethod method,
ShadowMatch sm)
Given a context and weaving environment, produce a residue |
void |
registerSetupAdvice(Aspect aspct,
java.util.Hashtable typeMap)
If any synthetic advice is required to implement this pointcut, this method should take care of adding it. |
java.lang.String |
toString()
Subclasses must define toString, for debugging purposes |
boolean |
unify(Pointcut otherpc,
Unification unification)
Attempt to unify two pointcuts. pc.unify(pc', unification) should return true if the pointcuts can be unified, and set the renamings appropriately in unification. |
Methods inherited from class abc.weaving.aspectinfo.DynamicValuePointcut |
---|
inline |
Methods inherited from class abc.weaving.aspectinfo.Pointcut |
---|
dnf, freshVar, normalize |
Methods inherited from class abc.weaving.aspectinfo.Syntax |
---|
getPosition |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public ThisAny(Position pos)
Method Detail |
---|
public final Residue matchesAt(WeavingEnv we, SootClass cls, SootMethod method, ShadowMatch sm)
Pointcut
matchesAt
in class Pointcut
protected Residue matchesAt(WeavingEnv we, ContextValue cv)
public java.lang.String toString()
Pointcut
toString
in class Pointcut
public void registerSetupAdvice(Aspect aspct, java.util.Hashtable typeMap)
Pointcut
registerSetupAdvice
in class Pointcut
aspct
- The aspect in which the pointcut is definedtypeMap
- A mapping from formal name to AbcType
for
all the formal parameters to the pointcutpublic void getFreeVars(java.util.Set result)
Pointcut
getFreeVars
in class Pointcut
result
- The results should be placed in this set
(having it as a parameter allows it to be built up
incrementally, which is more efficient than
repeatedly taking the union of sets)public boolean unify(Pointcut otherpc, Unification unification)
Pointcut
A default implementation is provided, but all subclasses should override this - otherwise cflow CSE will be disabled for cflow that use these pointcuts.
Typical implementations for pointcuts that introduce no free variables are straightforward (see the And pointcut, for example). For pointcuts that introduce free variables, the Var.unify method is used to actually update the renamings (see the Args pointcut).
unify
in class Pointcut
otherpc
- the pointcut that should be unify with thisunification
- the Unification that should be set.
AndPointcut.unify example
,
Var.unify
,
Unification
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |