public abstract class PerClause extends Pointcut
Modifier and Type | Class and Description |
---|---|
static class |
PerClause.Kind |
static class |
PerClause.KindAnnotationPrefix |
Pointcut.State
Modifier and Type | Field and Description |
---|---|
static PerClause.Kind |
FROMSUPER |
protected ResolvedType |
inAspect |
static PerClause.Kind |
PERCFLOW |
static PerClause.Kind |
PEROBJECT |
static PerClause.Kind |
PERTYPEWITHIN |
static PerClause.Kind |
SINGLETON |
AND, ANNOTATION, ARGS, ATARGS, ATTHIS_OR_TARGET, ATWITHIN, ATWITHINCODE, CFLOW, CONCRETE, EMPTY_STRING_ARRAY, HANDLER, hasBeenParameterized, IF, IF_FALSE, IF_TRUE, KINDED, lastMatchedShadowId, m_ignoreUnboundBindingForNames, NONE, NOT, OR, pointcutKind, REFERENCE, RESOLVED, state, SYMBOLIC, THIS_OR_TARGET, USER_EXTENSION, WITHIN, WITHINCODE
end, sourceContext, start
Constructor and Description |
---|
PerClause() |
Modifier and Type | Method and Description |
---|---|
abstract PerClause |
concretize(ResolvedType inAspect) |
Pointcut |
concretize1(ResolvedType inAspect,
ResolvedType declaringType,
IntMap bindings)
Resolves and removes ReferencePointcuts, replacing with basic ones
|
abstract PerClause.Kind |
getKind() |
static PerClause |
readPerClause(VersionedDataInputStream s,
ISourceContext context) |
abstract java.lang.String |
toDeclarationString() |
assertState, check, concretize, concretize, concretize, couldMatchKinds, fastMatch, findResidue, findResidueInternal, fromString, getPointcutKind, getTypeVariablesInScope, isDeclare, makeMatchesNothing, match, matchInternal, parameterizeWith, postRead, read, resolve, resolveBindings, setTypeVariablesInScope, shouldCopyLocationForConcretize
accept, copyLocationFrom, getEnd, getFileName, getSourceContext, getSourceLocation, getStart, readLocation, setLocation, traverse, write, writeLocation
protected ResolvedType inAspect
public static final PerClause.Kind SINGLETON
public static final PerClause.Kind PERCFLOW
public static final PerClause.Kind PEROBJECT
public static final PerClause.Kind FROMSUPER
public static final PerClause.Kind PERTYPEWITHIN
public static PerClause readPerClause(VersionedDataInputStream s, ISourceContext context) throws java.io.IOException
java.io.IOException
public final Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings)
Pointcut
concretize1
in class Pointcut
inAspect
- the aspect to resolve relative tobindings
- a Map from formal index in the current lexical context -> formal index in the concrete advice that will run
This must always return a new Pointcut object (even if the concretized Pointcut is identical to the resolved one).
That behavior is assumed in many places. XXX fix implementors to handle statepublic abstract PerClause concretize(ResolvedType inAspect)
public abstract PerClause.Kind getKind()
public abstract java.lang.String toDeclarationString()