|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.WildcardBinding
public class WildcardBinding
| Field Summary | |
|---|---|
TypeBinding |
bound
|
int |
boundKind
|
ReferenceBinding |
genericType
|
TypeBinding[] |
otherBounds
|
int |
rank
|
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding |
|---|
compoundName, fPackage, LUB_GENERIC, modifiers, samProblemBinding, singleAbstractMethod, sourceName |
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding |
|---|
BOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, id, INT, LONG, NULL, SHORT, tagBits, TYPE_USE_BINDING, typeAnnotations, VOID |
| Constructor Summary | |
|---|---|
WildcardBinding(ReferenceBinding genericType,
int rank,
TypeBinding bound,
TypeBinding[] otherBounds,
int boundKind,
LookupEnvironment environment)
When unbound, the bound denotes the corresponding type variable (so as to retrieve its bound lazily) |
|
| Method Summary | |
|---|---|
boolean |
acceptsNonNullDefault()
Used to implement this sentence from o.e.j.annotation.DefaultLocation: "Wildcards and the use of type variables are always excluded from NonNullByDefault." |
ReferenceBinding |
actualType()
|
TypeBinding |
allBounds()
|
java.lang.String |
annotatedDebugName()
|
boolean |
boundCheck(TypeBinding argumentType)
Returns true if the argument type satisfies the wildcard bound(s) |
boolean |
canBeInstantiated()
Answer true if the receiver can be instantiated |
TypeBinding |
clone(TypeBinding immaterial)
Virtual copy constructor: a copy is made of the receiver's entire instance state and then suitably parameterized by the arguments to the clone operation as seen fit by each type. |
java.util.List |
collectMissingTypes(java.util.List missingTypes)
Iterate through the type components to collect instances of leaf missing types |
void |
collectSubstitutes(Scope scope,
TypeBinding actualType,
InferenceContext inferenceContext,
int constraint)
Collect the substitutes into a map for certain type variables inside the receiver type e.g. |
char[] |
computeUniqueKey(boolean isLeaf)
p.X |
char[] |
constantPoolName()
Answer the receiver's constant pool name. |
java.lang.String |
debugName()
|
boolean |
enterRecursiveFunction()
Call this before descending into type details to prevent infinite recursion. |
TypeBinding |
erasure()
|
void |
exitRecursiveFunction()
Exit the context of a potentially recursive function. |
char[] |
genericTypeSignature()
Answer the receiver classfile signature. |
ReferenceBinding[] |
getIntersectingTypes()
|
int |
hashCode()
|
boolean |
hasTypeBit(int bit)
Answer an additional bit characterizing this type, like TypeIds.BitAutoCloseable. |
boolean |
isHierarchyConnected()
Returns true if the type hierarchy is connected |
boolean |
isIntersectionType()
Returns true if the current type denotes an intersection type: Number & Comparable> |
boolean |
isProperType(boolean admitCapture18)
JLS8 Sect 18.1.1 |
boolean |
isSuperclassOf(ReferenceBinding otherType)
Answer true if the receiver is in the superclass hierarchy of aType NOTE: Object.isSuperclassOf(Object) -> false |
boolean |
isUnboundWildcard()
Returns true if the type is a wildcard |
boolean |
isWildcard()
Returns true if the type is a wildcard |
int |
kind()
|
boolean |
mentionsAny(TypeBinding[] parameters,
int idx)
Does this type mention any of the given type parameters, except the one at position 'idx'? |
char[] |
nullAnnotatedReadableName(CompilerOptions options,
boolean shortNames)
Answer a readable name (for error reporting) that includes nullness type annotations. |
char[] |
readableName()
Answer the receiver's signature. |
char[] |
shortReadableName()
|
char[] |
signature()
Answer the receiver classfile signature. |
char[] |
sourceName()
|
ReferenceBinding |
superclass()
|
ReferenceBinding[] |
superInterfaces()
|
void |
swapUnresolved(UnresolvedReferenceBinding unresolvedType,
ReferenceBinding resolvedType,
LookupEnvironment env)
|
java.lang.String |
toString()
|
TypeVariableBinding |
typeVariable()
Returns associated type variable, or null in case of inconsistency |
TypeBinding |
unannotated(boolean removeOnlyNullAnnotations)
Return this type minus its type annotations |
TypeBinding |
uncapture(Scope scope)
Perform capture "deconversion" on a given type |
| Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding |
|---|
computeUniqueKey, initializeDeprecatedAnnotationTagBits, isParameter, isTaggedRepeatable, isValidBinding, isVolatile, problemId, setAnnotations |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public ReferenceBinding genericType
public int rank
public TypeBinding bound
public TypeBinding[] otherBounds
public int boundKind
| Constructor Detail |
|---|
public WildcardBinding(ReferenceBinding genericType,
int rank,
TypeBinding bound,
TypeBinding[] otherBounds,
int boundKind,
LookupEnvironment environment)
| Method Detail |
|---|
public TypeBinding allBounds()
public ReferenceBinding actualType()
actualType in class TypeBindingpublic int kind()
kind in class TypeBindingpublic boolean boundCheck(TypeBinding argumentType)
public boolean canBeInstantiated()
ReferenceBinding
canBeInstantiated in class ReferenceBindingReferenceBinding.canBeInstantiated()public java.util.List collectMissingTypes(java.util.List missingTypes)
TypeBinding
collectMissingTypes in class TypeBindingTypeBinding.collectMissingTypes(java.util.List)
public void collectSubstitutes(Scope scope,
TypeBinding actualType,
InferenceContext inferenceContext,
int constraint)
collectSubstitutes in class TypeBindingpublic char[] computeUniqueKey(boolean isLeaf)
ReferenceBinding
computeUniqueKey in class ReferenceBindingpublic char[] constantPoolName()
ReferenceBinding
constantPoolName in class ReferenceBindingTypeBinding.constantPoolName()public TypeBinding clone(TypeBinding immaterial)
TypeBinding
clone in class TypeBindingpublic java.lang.String annotatedDebugName()
annotatedDebugName in class TypeBindingpublic java.lang.String debugName()
debugName in class ReferenceBindingTypeBinding.debugName()public TypeBinding erasure()
erasure in class TypeBindingpublic char[] genericTypeSignature()
TypeBinding
genericTypeSignature in class TypeBindingpublic int hashCode()
hashCode in class ReferenceBindingpublic boolean hasTypeBit(int bit)
TypeBindingTypeIds.BitAutoCloseable.
hasTypeBit in class TypeBindingpublic boolean isSuperclassOf(ReferenceBinding otherType)
ReferenceBinding
isSuperclassOf in class ReferenceBindingReferenceBinding.isSuperclassOf(org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding)public boolean isIntersectionType()
isIntersectionType in class TypeBindingpublic ReferenceBinding[] getIntersectingTypes()
getIntersectingTypes in class TypeBindingpublic boolean isHierarchyConnected()
ReferenceBinding
isHierarchyConnected in class ReferenceBindingpublic boolean enterRecursiveFunction()
TypeBinding
enterRecursiveFunction in class TypeBindingpublic void exitRecursiveFunction()
TypeBinding
exitRecursiveFunction in class TypeBindingpublic boolean isProperType(boolean admitCapture18)
TypeBinding
isProperType in class ReferenceBindingadmitCapture18 - request if CaptureBinding18 shuld be considered as a proper type.
If unsure say 'true', only in Scope.greaterLowerBound(TypeBinding[], Scope, LookupEnvironment)
CaptureBinding18 has to be excluded to prevent an NPE on a branch that heuristically tries to avoid
inconsistent intersections.public boolean isUnboundWildcard()
isUnboundWildcard in class TypeBindingpublic boolean isWildcard()
isWildcard in class TypeBindingpublic char[] readableName()
ReferenceBinding
readableName in class ReferenceBinding
public char[] nullAnnotatedReadableName(CompilerOptions options,
boolean shortNames)
TypeBinding
nullAnnotatedReadableName in class ReferenceBindingTypeBinding.nullAnnotatedReadableName(CompilerOptions,boolean)public char[] shortReadableName()
shortReadableName in class ReferenceBindingpublic char[] signature()
TypeBinding
signature in class ReferenceBindingTypeBinding.signature()public char[] sourceName()
sourceName in class ReferenceBindingpublic ReferenceBinding superclass()
superclass in class ReferenceBindingpublic ReferenceBinding[] superInterfaces()
superInterfaces in class ReferenceBinding
public void swapUnresolved(UnresolvedReferenceBinding unresolvedType,
ReferenceBinding resolvedType,
LookupEnvironment env)
swapUnresolved in class TypeBindingpublic java.lang.String toString()
toString in class java.lang.ObjectObject.toString()public TypeVariableBinding typeVariable()
public TypeBinding unannotated(boolean removeOnlyNullAnnotations)
TypeBinding
unannotated in class TypeBindingremoveOnlyNullAnnotations - if true only null type annotations are removed, otherwise all type annotations.public TypeBinding uncapture(Scope scope)
TypeBinding
uncapture in class TypeBinding
public boolean mentionsAny(TypeBinding[] parameters,
int idx)
TypeBinding
mentionsAny in class TypeBindingpublic boolean acceptsNonNullDefault()
TypeBinding
acceptsNonNullDefault in class ReferenceBinding
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||