org.aspectj.weaver.patterns
Class TypePatternList

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

public class TypePatternList
extends PatternNode


Field Summary
static TypePatternList ANY
           
static TypePatternList EMPTY
           
 
Fields inherited from class org.aspectj.weaver.patterns.PatternNode
end, sourceContext, start
 
Constructor Summary
TypePatternList()
           
TypePatternList(java.util.List l)
           
TypePatternList(TypePattern[] arguments)
           
 
Method Summary
 java.lang.Object accept(PatternNodeVisitor visitor, java.lang.Object data)
           
 boolean areAllExactWithNoSubtypesAllowed()
           
 boolean canMatchSignatureWithNParameters(int numParams)
           
 boolean equals(java.lang.Object other)
           
 TypePattern get(int index)
           
 int getEnd()
          The ending index of this location in the character stream This points to the last character in this token.
 java.util.List<UnresolvedType> getExactTypes()
           
 ISourceContext getSourceContext()
           
 ISourceLocation getSourceLocation()
           
 int getStart()
          The starting index of this location in the character stream.
 TypePattern[] getTypePatterns()
           
 int hashCode()
           
 FuzzyBoolean matches(ResolvableTypeList types, TypePattern.MatchKind kind, ResolvedType[][] parameterAnnotations)
           
 FuzzyBoolean matches(ResolvedType[] types, TypePattern.MatchKind kind)
           
 FuzzyBoolean matches(ResolvedType[] types, TypePattern.MatchKind kind, ResolvedType[][] parameterAnnotations)
          When called with TypePattern.STATIC this will always return either FuzzyBoolean.YES or FuzzyBoolean.NO.
 java.lang.String[] maybeGetCleanNames()
           
 TypePatternList parameterizeWith(java.util.Map typeVariableMap, World w)
          Return a version of this type pattern list in which all type variable references are replaced by their corresponding entry in the map
 void postRead(ResolvedType enclosingType)
           
static TypePatternList read(VersionedDataInputStream s, ISourceContext context)
           
 TypePatternList resolveBindings(IScope scope, Bindings bindings, boolean allowBinding, boolean requireExactType)
           
 TypePatternList resolveReferences(IntMap bindings)
           
 int size()
           
 java.lang.String toString()
           
 java.lang.Object traverse(PatternNodeVisitor visitor, java.lang.Object data)
           
 void write(CompressingDataOutputStream s)
           
 
Methods inherited from class org.aspectj.weaver.patterns.PatternNode
copyLocationFrom, getFileName, readLocation, setLocation, writeLocation
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

EMPTY

public static final TypePatternList EMPTY

ANY

public static final TypePatternList ANY
Constructor Detail

TypePatternList

public TypePatternList()

TypePatternList

public TypePatternList(TypePattern[] arguments)

TypePatternList

public TypePatternList(java.util.List l)
Method Detail

size

public int size()

get

public TypePattern get(int index)

toString

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

canMatchSignatureWithNParameters

public boolean canMatchSignatureWithNParameters(int numParams)

matches

public FuzzyBoolean matches(ResolvedType[] types,
                            TypePattern.MatchKind kind)

matches

public FuzzyBoolean matches(ResolvedType[] types,
                            TypePattern.MatchKind kind,
                            ResolvedType[][] parameterAnnotations)
When called with TypePattern.STATIC this will always return either FuzzyBoolean.YES or FuzzyBoolean.NO. When called with TypePattern.DYNAMIC this could return MAYBE if at runtime it would be possible for arguments of the given static types to dynamically match this, but it is not known for certain. This method will never return FuzzyBoolean.NEVER


matches

public FuzzyBoolean matches(ResolvableTypeList types,
                            TypePattern.MatchKind kind,
                            ResolvedType[][] parameterAnnotations)

parameterizeWith

public TypePatternList parameterizeWith(java.util.Map typeVariableMap,
                                        World w)
Return a version of this type pattern list in which all type variable references are replaced by their corresponding entry in the map

Parameters:
typeVariableMap -
Returns:

resolveBindings

public TypePatternList resolveBindings(IScope scope,
                                       Bindings bindings,
                                       boolean allowBinding,
                                       boolean requireExactType)

resolveReferences

public TypePatternList resolveReferences(IntMap bindings)

postRead

public void postRead(ResolvedType enclosingType)

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

read

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

getEnd

public int getEnd()
Description copied from interface: IHasPosition
The ending index of this location in the character stream This points to the last character in this token. If a location truly had no contents, then start == end + 1. We don't recommend this.

Specified by:
getEnd in interface IHasPosition
Overrides:
getEnd in class PatternNode

getSourceContext

public ISourceContext getSourceContext()
Specified by:
getSourceContext in interface IHasSourceLocation
Overrides:
getSourceContext in class PatternNode

getSourceLocation

public ISourceLocation getSourceLocation()
Specified by:
getSourceLocation in interface IHasSourceLocation
Overrides:
getSourceLocation in class PatternNode

getStart

public int getStart()
Description copied from interface: IHasPosition
The starting index of this location in the character stream.

Specified by:
getStart in interface IHasPosition
Overrides:
getStart in class PatternNode

write

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

getTypePatterns

public TypePattern[] getTypePatterns()

getExactTypes

public java.util.List<UnresolvedType> getExactTypes()

accept

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

traverse

public java.lang.Object traverse(PatternNodeVisitor visitor,
                                 java.lang.Object data)
Overrides:
traverse in class PatternNode

areAllExactWithNoSubtypesAllowed

public boolean areAllExactWithNoSubtypesAllowed()

maybeGetCleanNames

public java.lang.String[] maybeGetCleanNames()