Class ParameterizedTypeBinding
java.lang.Object
org.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.ParameterizedTypeBinding
- All Implemented Interfaces:
Substitution
- Direct Known Subclasses:
RawTypeBinding
A parameterized type encapsulates a type with type arguments,
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Substitution
Substitution.NullSubstitution
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected RecordComponentBinding[]
protected ReferenceBinding
char[]
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, extendedTagBits, FLOAT, id, INT, LONG, NULL, SHORT, tagBits, TYPE_USE_BINDING, typeAnnotations, VOID
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
ANY_EXCEPTION, ARRAY_TYPE, BASE_TYPE, DefaultLocationArrayContents, DefaultLocationField, DefaultLocationParameter, DefaultLocationReturnType, DefaultLocationsForTrueValue, DefaultLocationTypeArgument, DefaultLocationTypeBound, DefaultLocationTypeParameter, FIELD, GENERIC_TYPE, IMPORT, INTERSECTION_TYPE, INTERSECTION_TYPE18, LOCAL, METHOD, MODULE, NO_ANNOTATIONS, NO_COMPONENTS, NO_ELEMENT_VALUE_PAIRS, NO_EXCEPTIONS, NO_FIELDS, NO_MEMBER_TYPES, NO_METHODS, NO_MODULES, NO_NULL_DEFAULT, NO_PACKAGES, NO_PARAMETER_NAMES, NO_PARAMETERS, NO_PERMITTEDTYPES, NO_PLAIN_PACKAGES, NO_REFERENCE_TYPES, NO_SUPERINTERFACES, NO_TYPE_VARIABLES, NO_TYPES, NULL_UNSPECIFIED_BY_DEFAULT, NullnessDefaultMASK, PACKAGE, PARAMETERIZED_TYPE, PATTERN, POLY_TYPE, RAW_TYPE, RECORD_COMPONENT, TYPE, TYPE_PARAMETER, TYPE_USE, UNINITIALIZED_COMPONENTS, UNINITIALIZED_FIELDS, UNINITIALIZED_METHODS, UNINITIALIZED_REFERENCE_TYPES, VARIABLE, WILDCARD_TYPE
-
Constructor Summary
ConstructorsConstructorDescriptionParameterizedTypeBinding
(ReferenceBinding type, TypeBinding[] arguments, ReferenceBinding enclosingType, LookupEnvironment environment) -
Method Summary
Modifier and TypeMethodDescriptionMay return an UnresolvedReferenceBinding.void
boundCheck
(Scope scope, TypeReference[] argumentReferences) Iterate type arguments, and validate them according to corresponding variable bounds.boolean
Answer true if the receiver can be instantiatedPerform capture conversion for a parameterized type with wildcard argumentsclone
(TypeBinding outerType) 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.collectMissingTypes
(List<TypeBinding> missingTypes) Iterate through the type components to collect instances of leaf missing typesvoid
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.void
char[]
computeUniqueKey
(boolean isLeaf) p.X<T extends Y & I, U extends Y> -> Lp/X<TT;TU;>;
char[]
Answer the receiver's constant pool name.createParameterizedMethod
(MethodBinding originalMethod) downwardsProjection
(Scope scope, TypeBinding[] mentionedTypeVariables) Perform a downwards type projection as per JLS 4.10.5Returns the lookup environmenterasure()
int
fields()
Return the original generic type from which the parameterized type got instantiated from.char[]
Ltype<param1 ... paramN>; LY<TT;>;
long
Compute the tagbits for standard annotations.getComponent
(char[] name, boolean needResolve) int
getExactConstructor
(TypeBinding[] argumentTypes) getExactMethod
(char[] selector, TypeBinding[] argumentTypes, CompilationUnitScope refScope) getExactMethodBase
(char[] selector, TypeBinding[] argumentTypes, CompilationUnitScope refScope) getField
(char[] fieldName, boolean needResolve) getField
(char[] fieldName, boolean resolve, InvocationSite site, Scope scope) Where multiple fields with the same name are defined, this will return the one most visible one...protected MethodBinding[]
getInterfaceAbstractContracts
(Scope scope, boolean replaceWildcards, boolean filterDefaultMethods) getMethods
(char[] selector) getMethodsBase
(char[] selector) getNonWildcardParameterization
(BlockScope blockScope) getNonWildcardParameters
(Scope scope) int
getRecordComponent
(char[] name) getSingleAbstractMethod
(Scope scope, boolean replaceWildcards) Return the single abstract method of a functional interface, or one ofnull
orReferenceBinding.samProblemBinding
, if the receiver is not a functional interface as defined in JLS 9.8.getSingleAbstractMethod
(Scope scope, boolean replaceWildcards, int start, int end) boolean
protected boolean
hasMethodWithNumArgs
(char[] selector, int numArgs) boolean
hasTypeBit
(int bit) Answer an additional bit characterizing this type, likeTypeIds.BitAutoCloseable
.boolean
boolean
implementsMethod
(MethodBinding method) protected void
boolean
Returns true if parameterized type AND not of the formList<?>
boolean
isEquivalentTo
(TypeBinding otherType) Returns true if a type is identical to another one, or for generic types, true if compared to its raw type.boolean
Returns true if the type hierarchy is connectedboolean
Returns true if the type is parameterized, e.g.boolean
isProperType
(boolean admitCapture18) JLS8 Sect 18.1.1boolean
Returns true for raw substitutionboolean
isRecord()
int
kind()
Returns the member types of this type sorted by simple name.boolean
mentionsAny
(TypeBinding[] parameters, int idx) Does this type mention any of the given type parameters, except the one at position 'idx'?methods()
char[]
nullAnnotatedReadableName
(CompilerOptions options, boolean shortNames) Answer a readable name (for error reporting) that includes nullness type annotations.int
Define to be able to get the computeId() for the inner type binding.char[]
Answer the qualified name of the receiver's package separated by periods or an empty string if its the default package.char[]
Answer the source name for the type.char[]
Answer the receiver's signature.char[]
readableName
(boolean showGenerics) char[]
char[]
shortReadableName
(boolean showGenerics) char[]
Answer the receiver classfile signature.char[]
substitute
(TypeVariableBinding originalVariable) Returns the type substitute for a given type variable, or itself if no substitution got performed.void
swapUnresolved
(UnresolvedReferenceBinding unresolvedType, ReferenceBinding resolvedType, LookupEnvironment env) toString()
Return this type minus its type annotationsPerform capture deconversion for a parameterized type with captured wildcard argumentslong
Refresh some tagBits from details into the main type.upwardsProjection
(Scope scope, TypeBinding[] mentionedTypeVariables) Perform an upwards type projection as per JLS 4.10.5Return this type minus its toplevel null annotations.Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
acceptsNonNullDefault, appendNullAnnotation, applyCloseableClassWhitelists, applyCloseableInterfaceWhitelists, availableFields, availableMethods, binarySearch, binarySearch, canBeSeenBy, canBeSeenBy, canBeSeenBy, computeGenericTypeSignature, computeId, depth, detectAnnotationCycle, detectWrapperResource, enclosingTypeAt, enumConstantCount, getAccessFlags, getFileName, getMemberType, getMethods, getPackage, getRecordComponentAccessor, getTypeVariable, hasEnclosingInstanceContext, hashCode, hasHierarchyCheckStarted, hasIncompatibleSuperType, hasNullBit, hasRestrictedAccess, implementsInterface, innerCanBeSeenBy, innerCanBeSeenBy, isAbstract, isAnnotationType, isBinaryBinding, isClass, isCompatibleWith, isConsistentIntersection, isDefault, isDeprecated, isEnum, isFieldInitializationFinished, isFinal, isFunctionalInterface, isHierarchyBeingActivelyConnected, isHierarchyBeingConnected, isInterface, isNestmateOf, isNonSealed, isOrEnclosedByPrivateType, isPrivate, isProtected, isPublic, isSealed, isStatic, isStrictfp, isSubtypeOf, isSubTypeOfRTL, isSuperclassOf, isThrowable, isUncheckedException, isUsed, isViewedAsDeprecated, module, outermostEnclosingType, retrieveAnnotationHolder, setAnnotations, setContainerAnnotationType, setHierarchyCheckDone, sortFields, sortMethods, tagAsHavingDefectiveContainerType
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding
closestMatch, containerAnnotationType, dimensions, enclosingMethod, enterRecursiveFunction, equalsEquals, exitRecursiveFunction, findSuperTypeOriginatingFrom, findSuperTypeOriginatingFrom, genericCast, getErasureCompatibleType, getIntersectingTypes, getTypeAnnotations, hasNullTypeAnnotations, hasTypeAnnotations, isAnonymousType, isArrayType, isBaseType, isBoxedPrimitiveType, isBoxingCompatibleWith, isCapture, isCompatibleWith, isFreeTypeVariable, isFunctionalType, isGenericType, isHierarchyInconsistent, isIntersectionType, isIntersectionType18, isLocalType, isMemberType, isNestedType, isNonDenotable, isNumericType, isParameterizedTypeWithActualArguments, isParameterizedWithOwnVariables, isPolyType, isPotentiallyCompatibleWith, isPrimitiveOrBoxedPrimitiveType, isPrimitiveType, isProvablyDistinct, isRawType, isReadyForAnnotations, isReifiable, isRepeatableAnnotationType, isTypeArgumentContainedBy, isTypeVariable, isUnboundWildcard, isUnresolvedType, isWildcard, leafComponentType, needsUncheckedConversion, notEquals, original, prototype, setTypeAnnotations, signableName, sIsMoreSpecific, wellKnownBaseType, wellKnownType
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
computeUniqueKey, initializeDeprecatedAnnotationTagBits, isParameter, isPatternVariable, isTaggedRepeatable, isValid, isValidBinding, isVolatile, setAnnotations
-
Field Details
-
type
-
arguments
-
environment
-
genericTypeSignature
public char[] genericTypeSignature -
superclass
-
superInterfaces
-
fields
-
components
-
memberTypes
-
methods
-
enclosingType
-
-
Constructor Details
-
ParameterizedTypeBinding
public ParameterizedTypeBinding(ReferenceBinding type, TypeBinding[] arguments, ReferenceBinding enclosingType, LookupEnvironment environment)
-
-
Method Details
-
actualType
May return an UnresolvedReferenceBinding.- Overrides:
actualType
in classTypeBinding
- See Also:
-
isParameterizedType
public boolean isParameterizedType()Description copied from class:TypeBinding
Returns true if the type is parameterized, e.g.List<String>
. Note that some instances of ParameterizedTypeBinding have no arguments, like for non-generic members of a parameterized type. UseTypeBinding.isParameterizedTypeWithActualArguments()
instead to find out.- Overrides:
isParameterizedType
in classTypeBinding
-
isRecord
public boolean isRecord()- Overrides:
isRecord
in classTypeBinding
-
components
- Overrides:
components
in classTypeBinding
-
boundCheck
Iterate type arguments, and validate them according to corresponding variable bounds. -
canBeInstantiated
public boolean canBeInstantiated()Description copied from class:ReferenceBinding
Answer true if the receiver can be instantiated- Overrides:
canBeInstantiated
in classReferenceBinding
- See Also:
-
capture
Perform capture conversion for a parameterized type with wildcard arguments- Overrides:
capture
in classTypeBinding
- See Also:
-
uncapture
Perform capture deconversion for a parameterized type with captured wildcard arguments- Overrides:
uncapture
in classTypeBinding
- See Also:
-
collectMissingTypes
Description copied from class:TypeBinding
Iterate through the type components to collect instances of leaf missing types- Overrides:
collectMissingTypes
in classTypeBinding
- Returns:
- missing types
- See Also:
-
collectSubstitutes
public 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.Collection<T>.collectSubstitutes(Collection<List<X>>, Map)
will populate Map with:T --> List<X>
Constraints:A << F corresponds to: F.collectSubstitutes(..., A, ..., CONSTRAINT_EXTENDS (1)) A = F corresponds to: F.collectSubstitutes(..., A, ..., CONSTRAINT_EQUAL (0)) A >> F corresponds to: F.collectSubstitutes(..., A, ..., CONSTRAINT_SUPER (2))
- Overrides:
collectSubstitutes
in classTypeBinding
-
computeId
public void computeId()- Overrides:
computeId
in classReferenceBinding
- See Also:
-
computeUniqueKey
public char[] computeUniqueKey(boolean isLeaf) Description copied from class:ReferenceBinding
p.X<T extends Y & I, U extends Y> -> Lp/X<TT;TU;>;
- Overrides:
computeUniqueKey
in classReferenceBinding
-
constantPoolName
public char[] constantPoolName()Description copied from class:ReferenceBinding
Answer the receiver's constant pool name. NOTE: This method should only be used during/after code gen.- Overrides:
constantPoolName
in classReferenceBinding
- See Also:
-
clone
Description copied from class:TypeBinding
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. Parameters may not make sense for every type in the hierarchy, in which case they are silently ignored. A type may choose to retain a copy of the prototype for reference.- Overrides:
clone
in classTypeBinding
-
createParameterizedMethod
-
debugName
- Overrides:
debugName
in classReferenceBinding
- See Also:
-
annotatedDebugName
- Overrides:
annotatedDebugName
in classTypeBinding
-
enclosingType
- Overrides:
enclosingType
in classTypeBinding
- See Also:
-
environment
Description copied from interface:Substitution
Returns the lookup environment- Specified by:
environment
in interfaceSubstitution
- See Also:
-
erasure
- Overrides:
erasure
in classTypeBinding
- See Also:
-
upwardsProjection
Description copied from class:ReferenceBinding
Perform an upwards type projection as per JLS 4.10.5- Overrides:
upwardsProjection
in classReferenceBinding
- Parameters:
scope
- Relevant scope for evaluating type projectionmentionedTypeVariables
- Filter for mentioned type variabled- Returns:
- Upwards type projection of 'this', or null if downwards projection is undefined
-
downwardsProjection
Description copied from class:ReferenceBinding
Perform a downwards type projection as per JLS 4.10.5- Overrides:
downwardsProjection
in classReferenceBinding
- Parameters:
scope
- Relevant scope for evaluating type projectionmentionedTypeVariables
- Filter for mentioned type variabled- Returns:
- Downwards type projection of 'this', or null if downwards projection is undefined
-
fieldCount
public int fieldCount()- Overrides:
fieldCount
in classReferenceBinding
- See Also:
-
fields
- Overrides:
fields
in classReferenceBinding
- See Also:
-
genericType
Return the original generic type from which the parameterized type got instantiated from. This will perform lazy resolution automatically if needed.- See Also:
-
genericTypeSignature
public char[] genericTypeSignature()Ltype<param1 ... paramN>; LY<TT;>;
- Overrides:
genericTypeSignature
in classTypeBinding
-
getAnnotations
- Overrides:
getAnnotations
in classReferenceBinding
- Returns:
- the JSR 175 annotations for this type.
-
getAnnotationTagBits
public long getAnnotationTagBits()Description copied from class:Binding
Compute the tagbits for standard annotations. For source types, these could require lazily resolving corresponding annotation nodes, in case of forward references. For type use bindings, this method still returns the tagbits corresponding to the type declaration binding.- Overrides:
getAnnotationTagBits
in classReferenceBinding
- See Also:
-
getEnclosingInstancesSlotSize
public int getEnclosingInstancesSlotSize()- Overrides:
getEnclosingInstancesSlotSize
in classReferenceBinding
- Returns:
- the enclosingInstancesSlotSize
-
getExactConstructor
- Overrides:
getExactConstructor
in classReferenceBinding
- See Also:
-
getExactMethodBase
public MethodBinding getExactMethodBase(char[] selector, TypeBinding[] argumentTypes, CompilationUnitScope refScope) - See Also:
-
getField
- Overrides:
getField
in classReferenceBinding
- See Also:
-
getComponent
- Overrides:
getComponent
in classReferenceBinding
- See Also:
-
getRecordComponent
- Overrides:
getRecordComponent
in classReferenceBinding
-
getMethodsBase
- See Also:
-
getOuterLocalVariablesSlotSize
public int getOuterLocalVariablesSlotSize()- Overrides:
getOuterLocalVariablesSlotSize
in classReferenceBinding
- Returns:
- the outerLocalVariablesSlotSize
-
hasMemberTypes
public boolean hasMemberTypes()- Overrides:
hasMemberTypes
in classReferenceBinding
-
hasTypeBit
public boolean hasTypeBit(int bit) Description copied from class:TypeBinding
Answer an additional bit characterizing this type, likeTypeIds.BitAutoCloseable
.- Overrides:
hasTypeBit
in classTypeBinding
-
hasMethodWithNumArgs
protected boolean hasMethodWithNumArgs(char[] selector, int numArgs) - Overrides:
hasMethodWithNumArgs
in classReferenceBinding
-
hasValueBasedTypeAnnotation
public boolean hasValueBasedTypeAnnotation()- Overrides:
hasValueBasedTypeAnnotation
in classTypeBinding
-
implementsMethod
- See Also:
-
initializeArguments
protected void initializeArguments() -
isBoundParameterizedType
public boolean isBoundParameterizedType()Description copied from class:TypeBinding
Returns true if parameterized type AND not of the formList<?>
- Overrides:
isBoundParameterizedType
in classTypeBinding
-
isEquivalentTo
Description copied from class:TypeBinding
Returns true if a type is identical to another one, or for generic types, true if compared to its raw type.- Overrides:
isEquivalentTo
in classTypeBinding
-
isHierarchyConnected
public boolean isHierarchyConnected()Description copied from class:ReferenceBinding
Returns true if the type hierarchy is connected- Overrides:
isHierarchyConnected
in classReferenceBinding
-
isProperType
public boolean isProperType(boolean admitCapture18) Description copied from class:TypeBinding
JLS8 Sect 18.1.1- Overrides:
isProperType
in classReferenceBinding
- Parameters:
admitCapture18
- request ifCaptureBinding18
shuld be considered as a proper type. If unsure say 'true', only inScope.greaterLowerBound(TypeBinding[], Scope, LookupEnvironment)
CaptureBinding18 has to be excluded to prevent an NPE on a branch that heuristically tries to avoid inconsistent intersections.
-
isRawSubstitution
public boolean isRawSubstitution()Description copied from interface:Substitution
Returns true for raw substitution- Specified by:
isRawSubstitution
in interfaceSubstitution
- See Also:
-
permittedTypes
- Overrides:
permittedTypes
in classReferenceBinding
-
unannotated
Description copied from class:TypeBinding
Return this type minus its type annotations- Overrides:
unannotated
in classTypeBinding
-
withoutToplevelNullAnnotation
Description copied from class:TypeBinding
Return this type minus its toplevel null annotations. Any annotations on type arguments or bounds are retained.- Overrides:
withoutToplevelNullAnnotation
in classTypeBinding
-
kind
public int kind()- Overrides:
kind
in classTypeBinding
-
memberTypes
Description copied from class:ReferenceBinding
Returns the member types of this type sorted by simple name.- Overrides:
memberTypes
in classReferenceBinding
- See Also:
-
mentionsAny
Description copied from class:TypeBinding
Does this type mention any of the given type parameters, except the one at position 'idx'?- Overrides:
mentionsAny
in classTypeBinding
-
methods
- Overrides:
methods
in classReferenceBinding
- See Also:
-
problemId
public int problemId()Define to be able to get the computeId() for the inner type binding. -
qualifiedPackageName
public char[] qualifiedPackageName()Description copied from class:TypeBinding
Answer the qualified name of the receiver's package separated by periods or an empty string if its the default package. For example, {java.util}.- Overrides:
qualifiedPackageName
in classTypeBinding
- See Also:
-
qualifiedSourceName
public char[] qualifiedSourceName()Description copied from class:ReferenceBinding
Answer the source name for the type. In the case of member types, as the qualified name from its top level type. For example, for a member type N defined insideM & A: "A.M.N"
.- Overrides:
qualifiedSourceName
in classReferenceBinding
- See Also:
-
readableName
public char[] readableName()Description copied from class:ReferenceBinding
Answer the receiver's signature. NOTE: This method should only be used during/after code gen.- Overrides:
readableName
in classReferenceBinding
- See Also:
-
readableName
public char[] readableName(boolean showGenerics) - Overrides:
readableName
in classReferenceBinding
-
shortReadableName
public char[] shortReadableName()- Overrides:
shortReadableName
in classReferenceBinding
- See Also:
-
shortReadableName
public char[] shortReadableName(boolean showGenerics) - Overrides:
shortReadableName
in classReferenceBinding
-
nullAnnotatedReadableName
Description copied from class:TypeBinding
Answer a readable name (for error reporting) that includes nullness type annotations.- Overrides:
nullAnnotatedReadableName
in classReferenceBinding
- See Also:
-
signature
public char[] signature()Description copied from class:TypeBinding
Answer the receiver classfile signature. Arrays and base types do not distinguish between signature() and constantPoolName(). NOTE: This method should only be used during/after code gen.- Overrides:
signature
in classReferenceBinding
- See Also:
-
sourceName
public char[] sourceName()- Overrides:
sourceName
in classReferenceBinding
- See Also:
-
substitute
Description copied from interface:Substitution
Returns the type substitute for a given type variable, or itself if no substitution got performed.- Specified by:
substitute
in interfaceSubstitution
- See Also:
-
superclass
- Overrides:
superclass
in classReferenceBinding
- See Also:
-
superInterfaces
- Overrides:
superInterfaces
in classReferenceBinding
- See Also:
-
swapUnresolved
public void swapUnresolved(UnresolvedReferenceBinding unresolvedType, ReferenceBinding resolvedType, LookupEnvironment env) - Overrides:
swapUnresolved
in classTypeBinding
-
syntheticEnclosingInstanceTypes
- Overrides:
syntheticEnclosingInstanceTypes
in classReferenceBinding
- See Also:
-
syntheticOuterLocalVariables
- Overrides:
syntheticOuterLocalVariables
in classTypeBinding
- See Also:
-
toString
-
typeVariables
- Overrides:
typeVariables
in classTypeBinding
-
typeArguments
-
unResolvedFields
- Overrides:
unResolvedFields
in classReferenceBinding
-
unResolvedComponents
- Overrides:
unResolvedComponents
in classReferenceBinding
-
getInterfaceAbstractContracts
protected MethodBinding[] getInterfaceAbstractContracts(Scope scope, boolean replaceWildcards, boolean filterDefaultMethods) throws org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.InvalidBindingException - Overrides:
getInterfaceAbstractContracts
in classReferenceBinding
- Throws:
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.InvalidBindingException
-
getSingleAbstractMethod
Description copied from class:TypeBinding
Return the single abstract method of a functional interface, or one ofnull
orReferenceBinding.samProblemBinding
, if the receiver is not a functional interface as defined in JLS 9.8. In particularnull
is answered if the receiver is not a reference type, or is a problem type.- Overrides:
getSingleAbstractMethod
in classReferenceBinding
- Parameters:
scope
- scopereplaceWildcards
- Should wildcards be replaced following JLS 9.8? Say false for lambdas with explicit argument types which should apply 18.5.3- Returns:
- The single abstract method of a functional interface, or one of
null
orReferenceBinding.samProblemBinding
, if the receiver is not a functional interface.
-
getSingleAbstractMethod
public MethodBinding getSingleAbstractMethod(Scope scope, boolean replaceWildcards, int start, int end) -
getNonWildcardParameters
-
getNonWildcardParameterization
-
updateTagBits
public long updateTagBits()Description copied from class:TypeBinding
Refresh some tagBits from details into the main type. Currently handled: TagBits.HasNullTypeAnnotation- Overrides:
updateTagBits
in classTypeBinding
-
getField
Description copied from class:ReferenceBinding
Where multiple fields with the same name are defined, this will return the one most visible one... Added for AspectJ to allow proper lookup with inter-type fields- Overrides:
getField
in classReferenceBinding
-
getExactMethod
public MethodBinding getExactMethod(char[] selector, TypeBinding[] argumentTypes, CompilationUnitScope refScope) - Overrides:
getExactMethod
in classReferenceBinding
-
getMethods
- Overrides:
getMethods
in classReferenceBinding
-