public class WildTypePattern extends TypePattern
TypePattern.MatchKind
Modifier and Type | Field and Description |
---|---|
static boolean |
boundscheckingoff |
AND, annotationPattern, ANY, ANY_KEY, ANY_WITH_ANNO, BINDING, DYNAMIC, ELLIPSIS, ELLIPSIS_KEY, EXACT, HAS_MEMBER, includeSubtypes, isVarArgs, NO, NO_KEY, NOT, OR, STATIC, TYPE_CATEGORY, typeParameters, WILD
end, sourceContext, start
Constructor and Description |
---|
WildTypePattern(java.util.List<NamePattern> names,
boolean includeSubtypes,
int dim) |
WildTypePattern(java.util.List<NamePattern> names,
boolean includeSubtypes,
int dim,
int endPos) |
WildTypePattern(java.util.List<NamePattern> names,
boolean includeSubtypes,
int dim,
int endPos,
boolean isVarArg) |
WildTypePattern(java.util.List<NamePattern> names,
boolean includeSubtypes,
int dim,
int endPos,
boolean isVarArg,
TypePatternList typeParams) |
WildTypePattern(java.util.List<NamePattern> names,
boolean includeSubtypes,
int dim,
int endPos,
boolean isVarArg,
TypePatternList typeParams,
TypePattern upperBound,
TypePattern[] additionalInterfaceBounds,
TypePattern lowerBound) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
accept(PatternNodeVisitor visitor,
java.lang.Object data) |
protected boolean |
couldEverMatchSameTypesAs(TypePattern other) |
boolean |
equals(java.lang.Object other) |
NamePattern |
extractName() |
TypePattern[] |
getAdditionalIntefaceBounds() |
int |
getDimensions()
Used in conjunction with checks on 'isStar()' to tell you if this pattern represents '*' or '*[]' which are different !
|
TypePattern |
getLowerBound() |
NamePattern[] |
getNamePatterns() |
TypePattern |
getUpperBound() |
boolean |
hasFailedResolution() |
int |
hashCode() |
boolean |
isArray() |
boolean |
isStar() |
protected boolean |
matchesExactly(ResolvedType type) |
protected boolean |
matchesExactly(ResolvedType type,
ResolvedType annotatedType) |
FuzzyBoolean |
matchesInstanceof(ResolvedType type) |
boolean |
maybeExtractName(java.lang.String string)
Method maybeExtractName.
|
java.lang.String |
maybeGetCleanName()
If this type pattern has no '*' or '..' in it
|
java.lang.String |
maybeGetSimpleName()
If this type pattern has no '.' or '*' in it, then return a simple string
otherwise, this will return null;
|
TypePattern |
parameterizeWith(java.util.Map<java.lang.String,UnresolvedType> typeVariableMap,
World w)
return a version of this type pattern in which all type variable references have been replaced by their corresponding entry
in the map.
|
static TypePattern |
read(VersionedDataInputStream s,
ISourceContext context) |
static TypePattern |
readTypePattern150(VersionedDataInputStream s,
ISourceContext context) |
static TypePattern |
readTypePatternOldStyle(VersionedDataInputStream s,
ISourceContext context) |
TypePattern |
resolveBindings(IScope scope,
Bindings bindings,
boolean allowBinding,
boolean requireExactType)
Need to determine if I'm really a pattern or a reference to a formal
We may wish to further optimize the case of pattern vs.
|
void |
setIsVarArgs(boolean isVarArgs) |
static char[][] |
splitNames(java.lang.String s,
boolean convertDollar) |
java.lang.String |
toString() |
void |
write(CompressingDataOutputStream s) |
getAnnotationPattern, getExactType, getTypeParameters, isBangVoid, isEllipsis, isIncludeSubtypes, isStarAnnotation, isVarArgs, isVoid, matches, matchesStatically, matchesSubtypes, matchesSubtypes, notExactType, postRead, remapAdviceFormals, resolve, resolveExactType, setAnnotationTypePattern, setTypeParameters
copyLocationFrom, getEnd, getFileName, getSourceContext, getSourceLocation, getStart, readLocation, setLocation, traverse, writeLocation
public WildTypePattern(java.util.List<NamePattern> names, boolean includeSubtypes, int dim)
public WildTypePattern(java.util.List<NamePattern> names, boolean includeSubtypes, int dim, int endPos)
public WildTypePattern(java.util.List<NamePattern> names, boolean includeSubtypes, int dim, int endPos, boolean isVarArg)
public WildTypePattern(java.util.List<NamePattern> names, boolean includeSubtypes, int dim, int endPos, boolean isVarArg, TypePatternList typeParams, TypePattern upperBound, TypePattern[] additionalInterfaceBounds, TypePattern lowerBound)
public WildTypePattern(java.util.List<NamePattern> names, boolean includeSubtypes, int dim, int endPos, boolean isVarArg, TypePatternList typeParams)
public NamePattern[] getNamePatterns()
public TypePattern getUpperBound()
public TypePattern getLowerBound()
public TypePattern[] getAdditionalIntefaceBounds()
public void setIsVarArgs(boolean isVarArgs)
setIsVarArgs
in class TypePattern
protected boolean couldEverMatchSameTypesAs(TypePattern other)
couldEverMatchSameTypesAs
in class TypePattern
public static char[][] splitNames(java.lang.String s, boolean convertDollar)
protected boolean matchesExactly(ResolvedType type)
matchesExactly
in class TypePattern
org.aspectj.weaver.TypePattern#matchesExactly(IType)
protected boolean matchesExactly(ResolvedType type, ResolvedType annotatedType)
matchesExactly
in class TypePattern
public int getDimensions()
public boolean isArray()
isArray
in class TypePattern
public FuzzyBoolean matchesInstanceof(ResolvedType type)
matchesInstanceof
in class TypePattern
org.aspectj.weaver.TypePattern#matchesInstanceof(IType)
public NamePattern extractName()
public boolean maybeExtractName(java.lang.String string)
string
- public java.lang.String maybeGetSimpleName()
public java.lang.String maybeGetCleanName()
public TypePattern parameterizeWith(java.util.Map<java.lang.String,UnresolvedType> typeVariableMap, World w)
TypePattern
parameterizeWith
in class TypePattern
public TypePattern resolveBindings(IScope scope, Bindings bindings, boolean allowBinding, boolean requireExactType)
resolveBindings
in class TypePattern
public boolean isStar()
isStar
in class TypePattern
public java.lang.String toString()
toString
in class java.lang.Object
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public void write(CompressingDataOutputStream s) throws java.io.IOException
write
in class PatternNode
java.io.IOException
public static TypePattern read(VersionedDataInputStream s, ISourceContext context) throws java.io.IOException
java.io.IOException
public static TypePattern readTypePattern150(VersionedDataInputStream s, ISourceContext context) throws java.io.IOException
java.io.IOException
public static TypePattern readTypePatternOldStyle(VersionedDataInputStream s, ISourceContext context) throws java.io.IOException
java.io.IOException
public java.lang.Object accept(PatternNodeVisitor visitor, java.lang.Object data)
accept
in class PatternNode
public boolean hasFailedResolution()
hasFailedResolution
in class TypePattern