org.aspectj.weaver.patterns
Class PerClause

java.lang.Object
  extended by org.aspectj.weaver.patterns.PatternNode
      extended by org.aspectj.weaver.patterns.Pointcut
          extended by org.aspectj.weaver.patterns.PerClause
All Implemented Interfaces:
IHasPosition, IHasSourceLocation
Direct Known Subclasses:
PerCflow, PerFromSuper, PerObject, PerSingleton, PerTypeWithin

public abstract class PerClause
extends Pointcut


Nested Class Summary
static class PerClause.Kind
           
static class PerClause.KindAnnotationPrefix
           
 
Nested classes/interfaces inherited from class org.aspectj.weaver.patterns.Pointcut
Pointcut.State
 
Field Summary
static PerClause.Kind FROMSUPER
           
protected  ResolvedType inAspect
           
static PerClause.Kind PERCFLOW
           
static PerClause.Kind PEROBJECT
           
static PerClause.Kind PERTYPEWITHIN
           
static PerClause.Kind SINGLETON
           
 
Fields inherited from class org.aspectj.weaver.patterns.Pointcut
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
 
Fields inherited from class org.aspectj.weaver.patterns.PatternNode
end, sourceContext, start
 
Constructor Summary
PerClause()
           
 
Method Summary
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()
           
 
Methods inherited from class org.aspectj.weaver.patterns.Pointcut
assertState, check, concretize, concretize, concretize, couldMatchKinds, fastMatch, findResidue, findResidueInternal, fromString, getPointcutKind, getTypeVariablesInScope, isDeclare, makeMatchesNothing, match, matchInternal, parameterizeWith, postRead, read, resolve, resolveBindings, setTypeVariablesInScope, shouldCopyLocationForConcretize
 
Methods inherited from class org.aspectj.weaver.patterns.PatternNode
accept, copyLocationFrom, getEnd, getFileName, getSourceContext, getSourceLocation, getStart, readLocation, setLocation, traverse, write, writeLocation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

inAspect

protected ResolvedType inAspect

SINGLETON

public static final PerClause.Kind SINGLETON

PERCFLOW

public static final PerClause.Kind PERCFLOW

PEROBJECT

public static final PerClause.Kind PEROBJECT

FROMSUPER

public static final PerClause.Kind FROMSUPER

PERTYPEWITHIN

public static final PerClause.Kind PERTYPEWITHIN
Constructor Detail

PerClause

public PerClause()
Method Detail

readPerClause

public static PerClause readPerClause(VersionedDataInputStream s,
                                      ISourceContext context)
                               throws java.io.IOException
Throws:
java.io.IOException

concretize1

public final Pointcut concretize1(ResolvedType inAspect,
                                  ResolvedType declaringType,
                                  IntMap bindings)
Description copied from class: Pointcut
Resolves and removes ReferencePointcuts, replacing with basic ones

Specified by:
concretize1 in class Pointcut
Parameters:
inAspect - the aspect to resolve relative to
bindings - 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 state

concretize

public abstract PerClause concretize(ResolvedType inAspect)

getKind

public abstract PerClause.Kind getKind()

toDeclarationString

public abstract java.lang.String toDeclarationString()