abc.weaving.matching
Class StmtShadowMatch
java.lang.Object
abc.weaving.matching.ShadowMatch
abc.weaving.matching.StmtShadowMatch
- Direct Known Subclasses:
- CastShadowMatch, ConstructorCallShadowMatch, GetFieldShadowMatch, HandlerShadowMatch, MethodCallShadowMatch, SetFieldShadowMatch, ThrowShadowMatch
public abstract class StmtShadowMatch
- extends ShadowMatch
A base class for join point shadows that apply to a single statement
(or pair of statements in the case of constructor calls)
- Author:
- Ganesh Sittampalam
|
Field Summary |
protected Stmt |
stmt
|
|
Constructor Summary |
protected |
StmtShadowMatch(SootMethod container,
Stmt stmt)
|
| Methods inherited from class abc.weaving.matching.ShadowMatch |
addAdviceApplication, addIfNecessary, getArgsContextValues, getContainer, getExceptions, getReturningContextValue, getSJPInfo, getTargetContextValue, inline, joinpointName, makeSJPInfo, recordSJPInfo, setShadowPoints, supportsAfter, supportsAround, supportsBefore |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
stmt
protected Stmt stmt
StmtShadowMatch
protected StmtShadowMatch(SootMethod container,
Stmt stmt)
getHost
public Host getHost()
- Description copied from class:
ShadowMatch
- Get the host that this ShadowMatch corresponds to,
for positional information
- Specified by:
getHost in class ShadowMatch
doAddAdviceApplication
protected AdviceApplication doAddAdviceApplication(MethodAdviceList mal,
AbstractAdviceDecl ad,
Residue residue)
- Specified by:
doAddAdviceApplication in class ShadowMatch
getStmt
public Stmt getStmt()
getEnclosing
public ShadowMatch getEnclosing()
- Description copied from class:
ShadowMatch
- return the enclosing ShadowMatch
- Specified by:
getEnclosing in class ShadowMatch
getThisContextValue
public ContextValue getThisContextValue()
- Description copied from class:
ShadowMatch
- Return a ContextValue that represents the runtime value
that is bound by a this() pointcut
- Overrides:
getThisContextValue in class ShadowMatch
makeArgumentsUniqueLocals
public static void makeArgumentsUniqueLocals(SootMethod method,
Stmt stmt)
- Lazily replaces the arguments of the invokeExpr of stmt with
unique locals and inserts assignment statements before stmt,
assigning the original values to the locals.
Needed for around().
- Parameters:
method - stmt -
reset
public static void reset()