public class NotTypePattern extends TypePattern
any binding to formals is explicitly forbidden for any composite, ! is just the most obviously wrong case.
TypePattern.MatchKindAND, 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, WILDend, sourceContext, start| Constructor and Description |
|---|
NotTypePattern(TypePattern pattern) |
| 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 obj) |
TypePattern |
getNegatedPattern() |
int |
hashCode() |
boolean |
isBangVoid()
For quickly recognizing the pattern '!void'
|
protected boolean |
matchesExactly(ResolvedType type) |
protected boolean |
matchesExactly(ResolvedType type,
ResolvedType annotatedType) |
FuzzyBoolean |
matchesInstanceof(ResolvedType type) |
boolean |
matchesStatically(ResolvedType type) |
TypePattern |
parameterizeWith(java.util.Map 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) |
TypePattern |
resolveBindings(IScope scope,
Bindings bindings,
boolean allowBinding,
boolean requireExactType)
This can modify in place, or return a new TypePattern if the type changes.
|
void |
setAnnotationTypePattern(AnnotationTypePattern annPatt) |
void |
setIsVarArgs(boolean isVarArgs) |
java.lang.String |
toString() |
java.lang.Object |
traverse(PatternNodeVisitor visitor,
java.lang.Object data) |
void |
write(CompressingDataOutputStream s) |
getAnnotationPattern, getExactType, getTypeParameters, hasFailedResolution, isArray, isEllipsis, isIncludeSubtypes, isStar, isStarAnnotation, isVarArgs, isVoid, matches, matchesSubtypes, matchesSubtypes, notExactType, postRead, remapAdviceFormals, resolve, resolveExactType, setTypeParameterscopyLocationFrom, getEnd, getFileName, getSourceContext, getSourceLocation, getStart, readLocation, setLocation, writeLocationpublic NotTypePattern(TypePattern pattern)
public TypePattern getNegatedPattern()
protected boolean couldEverMatchSameTypesAs(TypePattern other)
couldEverMatchSameTypesAs in class TypePatternpublic FuzzyBoolean matchesInstanceof(ResolvedType type)
matchesInstanceof in class TypePatternprotected boolean matchesExactly(ResolvedType type)
matchesExactly in class TypePatternprotected boolean matchesExactly(ResolvedType type, ResolvedType annotatedType)
matchesExactly in class TypePatternpublic boolean matchesStatically(ResolvedType type)
matchesStatically in class TypePatternpublic void setAnnotationTypePattern(AnnotationTypePattern annPatt)
setAnnotationTypePattern in class TypePatternpublic void setIsVarArgs(boolean isVarArgs)
setIsVarArgs in class TypePatternpublic void write(CompressingDataOutputStream s) throws java.io.IOException
write in class PatternNodejava.io.IOExceptionpublic static TypePattern read(VersionedDataInputStream s, ISourceContext context) throws java.io.IOException
java.io.IOExceptionpublic TypePattern resolveBindings(IScope scope, Bindings bindings, boolean allowBinding, boolean requireExactType)
TypePatternresolveBindings in class TypePatternpublic boolean isBangVoid()
TypePatternisBangVoid in class TypePatternpublic TypePattern parameterizeWith(java.util.Map typeVariableMap, World w)
TypePatternparameterizeWith in class TypePatternpublic java.lang.String toString()
toString in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic java.lang.Object accept(PatternNodeVisitor visitor, java.lang.Object data)
accept in class PatternNodepublic java.lang.Object traverse(PatternNodeVisitor visitor, java.lang.Object data)
traverse in class PatternNode