Klasse CaptureBinding18


public class CaptureBinding18 extends CaptureBinding
Capture-like type variable introduced during 1.8 type inference.
  • Konstruktordetails

    • CaptureBinding18

      public CaptureBinding18(ReferenceBinding contextType, char[] sourceName, char[] originalName, int start, int end, int captureID, LookupEnvironment environment)
  • Methodendetails

    • setUpperBounds

      public boolean setUpperBounds(TypeBinding[] upperBounds, ReferenceBinding javaLangObject)
    • initializeBounds

      public void initializeBounds(Scope scope, ParameterizedTypeBinding capturedParameterizedType)
      Beschreibung aus Klasse kopiert: CaptureBinding
      Initialize capture bounds using substituted supertypes e.g. given XUngültige Eingabe: "<"U, V extends XUngültige Eingabe: "<"U, V>>, capture(XUngültige Eingabe: "<"E,?>) = XUngültige Eingabe: "<"E,capture>, where capture extends XUngültige Eingabe: "<"E,capture>
      Setzt außer Kraft:
      initializeBounds in Klasse CaptureBinding
    • clone

      public TypeBinding clone(TypeBinding enclosingType)
      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 CaptureBinding
    • getMethods

      public MethodBinding[] getMethods(char[] selector)
      Setzt außer Kraft:
      getMethods in Klasse ReferenceBinding
    • erasure

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

      public boolean isEquivalentTo(TypeBinding otherType)
      Beschreibung aus Klasse kopiert: TypeBinding
      Returns true if a type is identical to another one, or for generic types, true if compared to its raw type.
      Setzt außer Kraft:
      isEquivalentTo in Klasse CaptureBinding
      Siehe auch:
    • isCompatibleWith

      public boolean isCompatibleWith(TypeBinding otherType, Scope captureScope)
      Beschreibung aus Klasse kopiert: ReferenceBinding
      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)
      Setzt außer Kraft:
      isCompatibleWith in Klasse ReferenceBinding
    • findSuperTypeOriginatingFrom

      public TypeBinding findSuperTypeOriginatingFrom(TypeBinding otherType)
      Beschreibung aus Klasse kopiert: TypeBinding
      Find supertype which originates from a given type, or null if not found
      Setzt außer Kraft:
      findSuperTypeOriginatingFrom 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 CaptureBinding
      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.
    • 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 CaptureBinding
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding#readableName()
    • shortReadableName

      public char[] shortReadableName()
      Setzt außer Kraft:
      shortReadableName in Klasse CaptureBinding
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding#shortReadableName()
    • 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 CaptureBinding
    • 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 CaptureBinding