org.aspectj.weaver.patterns
Class ReferencePointcut

java.lang.Object
  extended by org.aspectj.weaver.patterns.PatternNode
      extended by org.aspectj.weaver.patterns.Pointcut
          extended by org.aspectj.weaver.patterns.ReferencePointcut
All Implemented Interfaces:
IHasPosition, IHasSourceLocation

public class ReferencePointcut
extends Pointcut


Nested Class Summary
 
Nested classes/interfaces inherited from class org.aspectj.weaver.patterns.Pointcut
Pointcut.State
 
Field Summary
 TypePatternList arguments
           
 java.lang.String name
           
 UnresolvedType onType
           
 TypePattern onTypeSymbolic
           
 
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
ReferencePointcut(TypePattern onTypeSymbolic, java.lang.String name, TypePatternList arguments)
           
ReferencePointcut(UnresolvedType onType, java.lang.String name, TypePatternList arguments)
           
 
Method Summary
 java.lang.Object accept(PatternNodeVisitor visitor, java.lang.Object data)
           
 Pointcut concretize1(ResolvedType searchStart, ResolvedType declaringType, IntMap bindings)
          Resolves and removes ReferencePointcuts, replacing with basic ones
 int couldMatchKinds()
          The set of ShadowKinds that this Pointcut could possibly match - an int whose bits are set according to the Kinds specified in Shadow.java
 boolean equals(java.lang.Object other)
           
 FuzzyBoolean fastMatch(FastMatchInfo type)
          Could I match any shadows in the code defined within this type?
protected  Test findResidueInternal(Shadow shadow, ExposedState state)
           
 int hashCode()
           
protected  FuzzyBoolean matchInternal(Shadow shadow)
          Do I really match this shadow?
 Pointcut parameterizeWith(java.util.Map<java.lang.String,UnresolvedType> typeVariableMap, World w)
          make a version of this pointcut with any refs to typeVariables replaced by their entry in the map.
 void postRead(ResolvedType enclosingType)
           
static Pointcut read(VersionedDataInputStream s, ISourceContext context)
           
 void resolveBindings(IScope scope, Bindings bindings)
           
protected  boolean shouldCopyLocationForConcretize()
           
 java.lang.String toString()
           
 void write(CompressingDataOutputStream s)
           
 
Methods inherited from class org.aspectj.weaver.patterns.Pointcut
assertState, check, concretize, concretize, concretize, findResidue, fromString, getPointcutKind, getTypeVariablesInScope, isDeclare, makeMatchesNothing, match, resolve, setTypeVariablesInScope
 
Methods inherited from class org.aspectj.weaver.patterns.PatternNode
copyLocationFrom, getEnd, getFileName, getSourceContext, getSourceLocation, getStart, readLocation, setLocation, traverse, writeLocation
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

onType

public UnresolvedType onType

onTypeSymbolic

public TypePattern onTypeSymbolic

name

public java.lang.String name

arguments

public TypePatternList arguments
Constructor Detail

ReferencePointcut

public ReferencePointcut(TypePattern onTypeSymbolic,
                         java.lang.String name,
                         TypePatternList arguments)

ReferencePointcut

public ReferencePointcut(UnresolvedType onType,
                         java.lang.String name,
                         TypePatternList arguments)
Method Detail

couldMatchKinds

public int couldMatchKinds()
Description copied from class: Pointcut
The set of ShadowKinds that this Pointcut could possibly match - an int whose bits are set according to the Kinds specified in Shadow.java

Specified by:
couldMatchKinds in class Pointcut

fastMatch

public FuzzyBoolean fastMatch(FastMatchInfo type)
Description copied from class: Pointcut
Could I match any shadows in the code defined within this type?

Specified by:
fastMatch in class Pointcut

matchInternal

protected FuzzyBoolean matchInternal(Shadow shadow)
Do I really match this shadow?

Specified by:
matchInternal in class Pointcut

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

write

public void write(CompressingDataOutputStream s)
           throws java.io.IOException
Specified by:
write in class PatternNode
Throws:
java.io.IOException

read

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

resolveBindings

public void resolveBindings(IScope scope,
                            Bindings bindings)
Specified by:
resolveBindings in class Pointcut

postRead

public void postRead(ResolvedType enclosingType)
Overrides:
postRead in class Pointcut

findResidueInternal

protected Test findResidueInternal(Shadow shadow,
                                   ExposedState state)
Specified by:
findResidueInternal in class Pointcut

concretize1

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

Specified by:
concretize1 in class Pointcut
Parameters:
searchStart - 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

parameterizeWith

public Pointcut parameterizeWith(java.util.Map<java.lang.String,UnresolvedType> typeVariableMap,
                                 World w)
make a version of this pointcut with any refs to typeVariables replaced by their entry in the map. Tricky thing is, we can't do this at the point in time this method will be called, so we make a version that will parameterize the pointcut it ultimately resolves to.

Specified by:
parameterizeWith in class Pointcut

shouldCopyLocationForConcretize

protected boolean shouldCopyLocationForConcretize()
Overrides:
shouldCopyLocationForConcretize in class Pointcut

equals

public boolean equals(java.lang.Object other)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

accept

public java.lang.Object accept(PatternNodeVisitor visitor,
                               java.lang.Object data)
Specified by:
accept in class PatternNode