public class WildcardBinding extends ReferenceBinding
  • Felddetails

  • Konstruktordetails

    • WildcardBinding

      public 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)
  • Methodendetails

    • allBounds

      public TypeBinding allBounds()
    • setTypeAnnotations

      public void setTypeAnnotations(AnnotationBinding[] annotations, boolean evalNullAnnotations)
      Setzt außer Kraft:
      setTypeAnnotations in Klasse TypeBinding
    • evaluateNullAnnotations

      public void evaluateNullAnnotations(Scope scope, Wildcard wildcard)
      evaluate null type annotations and check / copy nullTagBits from bound and typevariable. may be invoked repeatedly.
      Parameter:
      scope - (may be null, if wildcard is null)
      wildcard - (may be null. if non-null, errors are reported and type annotations are dropped from this.bound in case of conflicts.)
    • determineNullBitsFromDeclaration

      public long determineNullBitsFromDeclaration(Scope scope, Wildcard wildcard)
      compute the nullTagBits from type annotations and bound.
      Parameter:
      scope - (may be null, if wildcard is null)
      wildcard - (may be null. if non-null, errors are reported and type annotations are dropped from this.bound in case of conflicts.)
    • actualType

      public ReferenceBinding actualType()
      Setzt außer Kraft:
      actualType in Klasse TypeBinding
    • kind

      public int kind()
      Setzt außer Kraft:
      kind in Klasse TypeBinding
    • boundCheck

      public boolean boundCheck(TypeBinding argumentType)
      Returns true if the argument type satisfies the wildcard bound(s)
    • canBeInstantiated

      public boolean canBeInstantiated()
      Beschreibung aus Klasse kopiert: ReferenceBinding
      Answer true if the receiver can be instantiated
      Setzt außer Kraft:
      canBeInstantiated in Klasse ReferenceBinding
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding#canBeInstantiated()
    • collectMissingTypes

      public List<TypeBinding> collectMissingTypes(List<TypeBinding> missingTypes)
      Beschreibung aus Klasse kopiert: TypeBinding
      Iterate through the type components to collect instances of leaf missing types
      Setzt außer Kraft:
      collectMissingTypes in Klasse TypeBinding
      Parameter:
      missingTypes -
      Gibt zurück:
      missing types
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.internal.compiler.lookup.TypeBinding#collectMissingTypes(java.util.List)
    • 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.collectSubstitutes(CollectionUngültige Eingabe: "<"List>, Map), will populate Map with: T --> List Constraints: A Ungültige Eingabe: "<"Ungültige Eingabe: "<" 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))
      Setzt außer Kraft:
      collectSubstitutes in Klasse TypeBinding
    • computeUniqueKey

      public char[] computeUniqueKey(boolean isLeaf)
      Beschreibung aus Klasse kopiert: ReferenceBinding
      p.XUngültige Eingabe: "<"T extends Y Ungültige Eingabe: "&" I, U extends Y> {} -> Lp/XUngültige Eingabe: "<"TT;TU;>;
      Setzt außer Kraft:
      computeUniqueKey in Klasse ReferenceBinding
    • constantPoolName

      public char[] constantPoolName()
      Beschreibung aus Klasse kopiert: ReferenceBinding
      Answer the receiver's constant pool name. NOTE: This method should only be used during/after code gen.
      Setzt außer Kraft:
      constantPoolName in Klasse ReferenceBinding
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.internal.compiler.lookup.TypeBinding#constantPoolName()
    • clone

      public TypeBinding clone(TypeBinding immaterial)
      Beschreibung aus Klasse kopiert: 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.
      Setzt außer Kraft:
      clone in Klasse TypeBinding
    • annotatedDebugName

      public String annotatedDebugName()
      Setzt außer Kraft:
      annotatedDebugName in Klasse TypeBinding
    • debugName

      public String debugName()
      Setzt außer Kraft:
      debugName in Klasse ReferenceBinding
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.internal.compiler.lookup.TypeBinding#debugName()
    • erasure

      public TypeBinding erasure()
      Setzt außer Kraft:
      erasure in Klasse TypeBinding
    • genericTypeSignature

      public char[] genericTypeSignature()
      Beschreibung aus Klasse kopiert: TypeBinding
      Answer the receiver classfile signature. Arrays Ungültige Eingabe: "&" base types do not distinguish between signature() Ungültige Eingabe: "&" constantPoolName(). NOTE: This method should only be used during/after code gen.
      Setzt außer Kraft:
      genericTypeSignature in Klasse TypeBinding
    • hashCode

      public int hashCode()
      Setzt außer Kraft:
      hashCode in Klasse ReferenceBinding
    • hasTypeBit

      public boolean hasTypeBit(int bit)
      Beschreibung aus Klasse kopiert: TypeBinding
      Answer an additional bit characterizing this type, like TypeIds.BitAutoCloseable.
      Setzt außer Kraft:
      hasTypeBit in Klasse TypeBinding
    • isSuperclassOf

      public boolean isSuperclassOf(ReferenceBinding otherType)
      Beschreibung aus Klasse kopiert: ReferenceBinding
      Answer true if the receiver is in the superclass hierarchy of aType NOTE: Object.isSuperclassOf(Object) -> false
      Setzt außer Kraft:
      isSuperclassOf in Klasse ReferenceBinding
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding#isSuperclassOf(org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding)
    • isIntersectionType

      public boolean isIntersectionType()
      Beschreibung aus Klasse kopiert: TypeBinding
      Returns true if the current type denotes an intersection type: Number Ungültige Eingabe: "&" ComparableUngültige Eingabe: "<"?>
      Setzt außer Kraft:
      isIntersectionType in Klasse TypeBinding
    • getIntersectingTypes

      public ReferenceBinding[] getIntersectingTypes()
      Setzt außer Kraft:
      getIntersectingTypes in Klasse TypeBinding
    • isHierarchyConnected

      public boolean isHierarchyConnected()
      Beschreibung aus Klasse kopiert: ReferenceBinding
      Returns true if the type hierarchy is connected
      Setzt außer Kraft:
      isHierarchyConnected in Klasse ReferenceBinding
    • enterRecursiveFunction

      public boolean enterRecursiveFunction()
      Beschreibung aus Klasse kopiert: TypeBinding
      Call this before descending into type details to prevent infinite recursion.
      Setzt außer Kraft:
      enterRecursiveFunction in Klasse TypeBinding
      Gibt zurück:
      true if a recursion was not already started.
    • exitRecursiveFunction

      public void exitRecursiveFunction()
      Beschreibung aus Klasse kopiert: TypeBinding
      Exit the context of a potentially recursive function.
      Setzt außer Kraft:
      exitRecursiveFunction in Klasse TypeBinding
    • isProperType

      public boolean isProperType(boolean admitCapture18)
      Beschreibung aus Klasse kopiert: TypeBinding
      JLS8 Sect 18.1.1
      Setzt außer Kraft:
      isProperType in Klasse ReferenceBinding
      Parameter:
      admitCapture18 - 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.
    • isUnboundWildcard

      public boolean isUnboundWildcard()
      Beschreibung aus Klasse kopiert: TypeBinding
      Returns true if wildcard type of the form '?' (no bound)
      Setzt außer Kraft:
      isUnboundWildcard in Klasse TypeBinding
    • isWildcard

      public boolean isWildcard()
      Beschreibung aus Klasse kopiert: TypeBinding
      Returns true if the type is a wildcard
      Setzt außer Kraft:
      isWildcard in Klasse TypeBinding
    • readableName

      public char[] readableName()
      Beschreibung aus Klasse kopiert: ReferenceBinding
      Answer the receiver's signature. NOTE: This method should only be used during/after code gen.
      Setzt außer Kraft:
      readableName in Klasse ReferenceBinding
    • nullAnnotatedReadableName

      public char[] nullAnnotatedReadableName(CompilerOptions options, boolean shortNames)
      Beschreibung aus Klasse kopiert: TypeBinding
      Answer a readable name (for error reporting) that includes nullness type annotations.
      Setzt außer Kraft:
      nullAnnotatedReadableName in Klasse ReferenceBinding
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.internal.compiler.lookup.TypeBinding#nullAnnotatedReadableName(CompilerOptions,boolean)
    • shortReadableName

      public char[] shortReadableName()
      Setzt außer Kraft:
      shortReadableName in Klasse ReferenceBinding
    • signature

      public char[] signature()
      Beschreibung aus Klasse kopiert: TypeBinding
      Answer the receiver classfile signature. Arrays Ungültige Eingabe: "&" base types do not distinguish between signature() Ungültige Eingabe: "&" constantPoolName(). NOTE: This method should only be used during/after code gen.
      Setzt außer Kraft:
      signature in Klasse ReferenceBinding
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.internal.compiler.lookup.TypeBinding#signature()
    • sourceName

      public char[] sourceName()
      Setzt außer Kraft:
      sourceName in Klasse ReferenceBinding
    • superclass

      public ReferenceBinding superclass()
      Setzt außer Kraft:
      superclass in Klasse ReferenceBinding
    • superInterfaces

      public ReferenceBinding[] superInterfaces()
      Setzt außer Kraft:
      superInterfaces in Klasse ReferenceBinding
    • swapUnresolved

      public void swapUnresolved(UnresolvedReferenceBinding unresolvedType, ReferenceBinding resolvedType, LookupEnvironment env)
      Setzt außer Kraft:
      swapUnresolved in Klasse TypeBinding
    • toString

      public String toString()
      Setzt außer Kraft:
      toString in Klasse Object
      Siehe auch:
    • typeVariable

      public TypeVariableBinding typeVariable()
      Returns associated type variable, or null in case of inconsistency
    • unannotated

      public TypeBinding unannotated()
      Beschreibung aus Klasse kopiert: TypeBinding
      Return this type minus its type annotations
      Setzt außer Kraft:
      unannotated in Klasse TypeBinding
    • withoutToplevelNullAnnotation

      public TypeBinding withoutToplevelNullAnnotation()
      Beschreibung aus Klasse kopiert: TypeBinding
      Return this type minus its toplevel null annotations. Any annotations on type arguments or bounds are retained.
      Setzt außer Kraft:
      withoutToplevelNullAnnotation in Klasse TypeBinding
    • uncapture

      public TypeBinding uncapture(Scope scope)
      Beschreibung aus Klasse kopiert: TypeBinding
      Perform capture "deconversion" on a given type
      Setzt außer Kraft:
      uncapture in Klasse TypeBinding
    • mentionsAny

      public boolean mentionsAny(TypeBinding[] parameters, int idx)
      Beschreibung aus Klasse kopiert: TypeBinding
      Does this type mention any of the given type parameters, except the one at position 'idx'?
      Setzt außer Kraft:
      mentionsAny in Klasse TypeBinding
    • acceptsNonNullDefault

      public boolean acceptsNonNullDefault()
      Beschreibung aus Klasse kopiert: TypeBinding
      Used to implement this sentence from o.e.j.annotation.DefaultLocation: "Wildcards and the use of type variables are always excluded from NonNullByDefault."
      Setzt außer Kraft:
      acceptsNonNullDefault in Klasse ReferenceBinding
    • updateTagBits

      public long updateTagBits()
      Beschreibung aus Klasse kopiert: TypeBinding
      Refresh some tagBits from details into the main type. Currently handled: TagBits.HasNullTypeAnnotation
      Setzt außer Kraft:
      updateTagBits in Klasse TypeBinding
    • isNonDenotable

      public boolean isNonDenotable()
      Beschreibung aus Klasse kopiert: TypeBinding
      Does this type lack a class file representation on its own ?
      Setzt außer Kraft:
      isNonDenotable in Klasse TypeBinding