Direct Known Subclasses:
CaptureBinding18

public class CaptureBinding extends TypeVariableBinding
  • Field Details

  • Constructor Details

  • Method Details

    • clone

      public TypeBinding clone(TypeBinding enclosingType)
      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 class TypeVariableBinding
    • 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 class TypeVariableBinding
    • debugName

      public String debugName()
      Overrides:
      debugName in class TypeVariableBinding
      See Also:
      • invalid reference
        org.eclipse.jdt.internal.compiler.lookup.TypeBinding#debugName()
    • genericTypeSignature

      public char[] genericTypeSignature()
      Description copied from class: TypeVariableBinding
      
       T::Ljava/util/Map;:Ljava/io/Serializable;
       T:LY<TT;>
       
      Overrides:
      genericTypeSignature in class TypeVariableBinding
    • initializeBounds

      public void initializeBounds(Scope scope, ParameterizedTypeBinding capturedParameterizedType)
      Initialize capture bounds using substituted supertypes e.g. given X<U, V extends X<U, V>>, capture(X<E,?>) = X<E,capture>, where capture extends X<E,capture>
    • upwardsProjection

      public ReferenceBinding upwardsProjection(Scope scope, TypeBinding[] mentionedTypeVariables)
      Description copied from class: ReferenceBinding
      Perform an upwards type projection as per JLS 4.10.5
      Overrides:
      upwardsProjection in class TypeVariableBinding
      Parameters:
      scope - Relevant scope for evaluating type projection
      mentionedTypeVariables - Filter for mentioned type variabled
      Returns:
      Upwards type projection of 'this', or null if downwards projection is undefined
    • upperBoundForProjection

      public TypeBinding upperBoundForProjection()
    • isCapture

      public boolean isCapture()
      Description copied from class: TypeBinding
      Returns true if the type is the capture of some wildcard
      Overrides:
      isCapture in class TypeBinding
      See Also:
      • invalid reference
        org.eclipse.jdt.internal.compiler.lookup.TypeBinding#isCapture()
    • isEquivalentTo

      public boolean isEquivalentTo(TypeBinding otherType)
      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 class TypeBinding
      See Also:
    • isProperType

      public boolean isProperType(boolean admitCapture18)
      Description copied from class: TypeBinding
      JLS8 Sect 18.1.1
      Overrides:
      isProperType in class TypeVariableBinding
      Parameters:
      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.
    • 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 class TypeVariableBinding
      See Also:
      • invalid reference
        org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding#readableName()
    • signableName

      public char[] signableName()
      Overrides:
      signableName in class TypeBinding
    • shortReadableName

      public char[] shortReadableName()
      Overrides:
      shortReadableName in class TypeVariableBinding
      See Also:
      • invalid reference
        org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding#shortReadableName()
    • nullAnnotatedReadableName

      public char[] nullAnnotatedReadableName(CompilerOptions options, boolean shortNames)
      Description copied from class: TypeBinding
      Answer a readable name (for error reporting) that includes nullness type annotations.
      Overrides:
      nullAnnotatedReadableName in class TypeVariableBinding
      See Also:
      • invalid reference
        org.eclipse.jdt.internal.compiler.lookup.TypeBinding#nullAnnotatedReadableName(CompilerOptions,boolean)
    • withoutToplevelNullAnnotation

      public TypeBinding 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 class TypeVariableBinding
    • setTypeAnnotations

      public void setTypeAnnotations(AnnotationBinding[] annotations, boolean evalNullAnnotations)
      Overrides:
      setTypeAnnotations in class TypeVariableBinding
    • uncapture

      public TypeBinding uncapture(Scope scope)
      Description copied from class: TypeBinding
      Perform capture "deconversion" on a given type
      Overrides:
      uncapture in class TypeBinding
    • downwardsProjection

      public ReferenceBinding downwardsProjection(Scope scope, TypeBinding[] mentionedTypeVariables)
      Description copied from class: ReferenceBinding
      Perform a downwards type projection as per JLS 4.10.5
      Overrides:
      downwardsProjection in class TypeVariableBinding
      Parameters:
      scope - Relevant scope for evaluating type projection
      mentionedTypeVariables - Filter for mentioned type variabled
      Returns:
      Downwards type projection of 'this', or null if downwards projection is undefined
    • getDerivedTypesForDeferredInitialization

      protected TypeBinding[] getDerivedTypesForDeferredInitialization()
      Overrides:
      getDerivedTypesForDeferredInitialization in class TypeVariableBinding
    • toString

      public String toString()
      Overrides:
      toString in class TypeVariableBinding
      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 class ReferenceBinding