|
|||||||||
| 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.TypeVariableBinding
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
public class InferenceVariable
Implementation of 18.1.1 in JLS8
| Field Summary |
|---|
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding |
|---|
declaringElement, firstBound, genericTypeSignature, rank, superclass, superInterfaces |
| 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 | |
|---|---|
InferenceVariable(TypeBinding typeParameter,
int variableRank,
InvocationSite site,
LookupEnvironment environment,
ReferenceBinding object)
|
|
| Method Summary | |
|---|---|
TypeBinding |
clone(TypeBinding enclosingType)
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. |
char[] |
constantPoolName()
Answer the receiver's constant pool name. |
java.lang.String |
debugName()
|
boolean |
equals(java.lang.Object obj)
|
TypeBinding |
erasure()
|
PackageBinding |
getPackage()
|
int |
hashCode()
|
boolean |
hasTypeBit(int bit)
Answer an additional bit characterizing this type, like TypeIds.BitAutoCloseable. |
boolean |
isCompatibleWith(TypeBinding right,
Scope scope)
Answer true if the receiver type can be assigned to the argument type (right) In addition to improving performance, caching also ensures there is no infinite regression since per nature, the compatibility check is recursive through parameterized type arguments (122775) |
boolean |
isProperType(boolean admitCapture18)
JLS8 Sect 18.1.1 |
InferenceVariable |
prototype()
Return the primordial type from which the receiver was cloned. |
char[] |
qualifiedSourceName()
Answer the source name for the type. |
char[] |
readableName()
Answer the receiver's signature. |
char[] |
sourceName()
|
ReferenceBinding[] |
superInterfaces()
|
java.lang.String |
toString()
|
| Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding |
|---|
acceptsNonNullDefault, annotatedDebugName, boundCheck, boundsCount, canBeInstantiated, collectSubstitutes, combineTypeAnnotations, computeUniqueKey, enterRecursiveFunction, evaluateNullAnnotations, exitRecursiveFunction, genericSignature, genericTypeSignature, isErasureBoundTo, isHierarchyConnected, isInterchangeableWith, isSubtypeOf, isTypeVariable, kind, mentionsAny, nullAnnotatedReadableName, otherUpperBounds, setFirstBound, setSuperClass, setSuperInterfaces, setTypeAnnotations, shortReadableName, superclass, unannotated, upperBound |
| 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, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public InferenceVariable(TypeBinding typeParameter,
int variableRank,
InvocationSite site,
LookupEnvironment environment,
ReferenceBinding object)
| Method Detail |
|---|
public TypeBinding clone(TypeBinding enclosingType)
TypeBinding
clone in class TypeVariableBindingpublic InferenceVariable prototype()
TypeBindingSourceTypeBinding,
BinaryTypeBinding and UnresolvedReferenceBinding do so as of now. In fact some types e.g ParameterizedTypeBinding
should not do so. Deflecting a query to a prototype would lead to wrong results in the case of ParameterizedTypeBinding
prototype in class TypeBindingpublic char[] constantPoolName()
ReferenceBinding
constantPoolName in class TypeVariableBindingpublic PackageBinding getPackage()
getPackage in class ReferenceBinding
public boolean isCompatibleWith(TypeBinding right,
Scope scope)
ReferenceBinding
isCompatibleWith in class ReferenceBindingpublic boolean isProperType(boolean admitCapture18)
TypeBinding
isProperType in class TypeVariableBindingadmitCapture18 - 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 ReferenceBinding[] superInterfaces()
superInterfaces in class TypeVariableBindingpublic char[] qualifiedSourceName()
ReferenceBinding
qualifiedSourceName in class ReferenceBindingpublic char[] sourceName()
sourceName in class ReferenceBindingpublic char[] readableName()
ReferenceBinding
readableName in class TypeVariableBindingReferenceBinding.readableName()public boolean hasTypeBit(int bit)
TypeBindingTypeIds.BitAutoCloseable.
hasTypeBit in class TypeVariableBindingpublic java.lang.String debugName()
debugName in class TypeVariableBindingTypeBinding.debugName()public java.lang.String toString()
toString in class TypeVariableBindingObject.toString()public int hashCode()
hashCode in class ReferenceBindingpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic TypeBinding erasure()
erasure in class TypeVariableBinding
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||