|
|||||||||
| 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.LexicalPointcut
public abstract class LexicalPointcut
A pointcut designator representing a condition on the lexical context
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class abc.weaving.aspectinfo.Pointcut |
|---|
Pointcut.DNF |
| Constructor Summary | |
|---|---|
LexicalPointcut(Position pos)
|
|
| Method Summary | |
|---|---|
void |
getFreeVars(java.util.Set result)
Get a list of free variables bound by this pointcut |
protected Pointcut |
inline(java.util.Hashtable typeEnv,
java.util.Hashtable renameEnv,
Aspect context,
int cflowdepth)
Inlining should remove all PointcutRefs, and return a pointcut that is alpha-renamed |
protected abstract Residue |
matchesAt(SootClass cls,
SootMethod method)
Do we match at a particular class and method? |
Residue |
matchesAt(WeavingEnv env,
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. |
| Methods inherited from class abc.weaving.aspectinfo.Pointcut |
|---|
dnf, freshVar, normalize, toString, unify |
| 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 LexicalPointcut(Position pos)
| Method Detail |
|---|
public final Residue matchesAt(WeavingEnv env,
SootClass cls,
SootMethod method,
ShadowMatch sm)
Pointcut
matchesAt in class Pointcut
protected abstract Residue matchesAt(SootClass cls,
SootMethod method)
protected Pointcut inline(java.util.Hashtable typeEnv,
java.util.Hashtable renameEnv,
Aspect context,
int cflowdepth)
Pointcut
inline in class PointcuttypeEnv - A mapping from pointcut names to the Vars
they should be renamed to. If a name isn't in the
map, it doesn't need to be renamed.renameEnv - A mapping from pointcut names to AbcTypes.
Every variable that can appear free in the pointcut
must be listed. The names are those before any
renaming takes place.context - The Aspect in which the root pointcut is
defined. This is required because references to
abstract pointcuts must be resolved to the concrete
pointcut using this aspect.cflowdepth - The number of surrounding cflows.
This is required
to determine the correct precedence for the
synthetic advice used to implement
cflow.
public void registerSetupAdvice(Aspect aspct,
java.util.Hashtable typeMap)
Pointcut
registerSetupAdvice in class Pointcutaspct - 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 Pointcutresult - 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)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||