Klasse IntersectionTypeBinding18


public class IntersectionTypeBinding18 extends ReferenceBinding
Abstraction used for intersection casts in Java 8 + and inferred types:
  • type inference at 1.8+
  • lub at 1.8+
  • projections for 'var' at 10+
  • Felddetails

  • Konstruktordetails

  • Methodendetails

    • 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 TypeBinding
    • getInterfaceAbstractContracts

      protected MethodBinding[] getInterfaceAbstractContracts(Scope scope, boolean replaceWildcards, boolean filterDefaultMethods) throws org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.InvalidBindingException
      Setzt außer Kraft:
      getInterfaceAbstractContracts in Klasse ReferenceBinding
      Löst aus:
      org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.InvalidBindingException
    • 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
    • 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
    • canBeSeenBy

      public boolean canBeSeenBy(PackageBinding invocationPackage)
      Beschreibung aus Klasse kopiert: ReferenceBinding
      Answer true if the receiver is visible to the invocationPackage.
      Setzt außer Kraft:
      canBeSeenBy in Klasse ReferenceBinding
    • canBeSeenBy

      public boolean canBeSeenBy(Scope scope)
      Beschreibung aus Klasse kopiert: ReferenceBinding
      Answer true if the receiver is visible to the type provided by the scope.
      Setzt außer Kraft:
      canBeSeenBy in Klasse ReferenceBinding
    • canBeSeenBy

      public boolean canBeSeenBy(ReferenceBinding receiverType, ReferenceBinding invocationType)
      Beschreibung aus Klasse kopiert: ReferenceBinding
      Answer true if the receiver is visible to the receiverType and the invocationType.
      Setzt außer Kraft:
      canBeSeenBy 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
    • getPackage

      public PackageBinding getPackage()
      Setzt außer Kraft:
      getPackage in Klasse ReferenceBinding
    • getIntersectingTypes

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

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

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

      public boolean isBoxedPrimitiveType()
      Setzt außer Kraft:
      isBoxedPrimitiveType in Klasse TypeBinding
    • isCompatibleWith

      public boolean isCompatibleWith(TypeBinding right, Scope scope)
      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
    • isSubtypeOf

      public boolean isSubtypeOf(TypeBinding other, boolean simulatingBugJDK8026527)
      Setzt außer Kraft:
      isSubtypeOf in Klasse ReferenceBinding
    • erasure

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

      public char[] qualifiedPackageName()
      Beschreibung aus Klasse kopiert: 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}.
      Setzt außer Kraft:
      qualifiedPackageName in Klasse TypeBinding
    • qualifiedSourceName

      public char[] qualifiedSourceName()
      Beschreibung aus Klasse kopiert: 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 inside M Ungültige Eingabe: "&" A: "A.M.N".
      Setzt außer Kraft:
      qualifiedSourceName in Klasse ReferenceBinding
    • sourceName

      public char[] sourceName()
      Setzt außer Kraft:
      sourceName in Klasse ReferenceBinding
    • 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
    • shortReadableName

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

      public boolean isIntersectionType18()
      Setzt außer Kraft:
      isIntersectionType18 in Klasse TypeBinding
    • kind

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

      public String debugName()
      Setzt außer Kraft:
      debugName in Klasse ReferenceBinding
    • toString

      public String toString()
      Setzt außer Kraft:
      toString in Klasse Object
    • getSAMType

      public TypeBinding getSAMType(Scope scope)
    • upwardsProjection

      public ReferenceBinding upwardsProjection(Scope scope, TypeBinding[] mentionedTypeVariables)
      Beschreibung aus Klasse kopiert: ReferenceBinding
      Perform an upwards type projection as per JLS 4.10.5
      Setzt außer Kraft:
      upwardsProjection in Klasse ReferenceBinding
      Parameter:
      scope - Relevant scope for evaluating type projection
      mentionedTypeVariables - Filter for mentioned type variabled
      Gibt zurück:
      Upwards type projection of 'this', or null if downwards projection is undefined
    • downwardsProjection

      public ReferenceBinding downwardsProjection(Scope scope, TypeBinding[] mentionedTypeVariables)
      Beschreibung aus Klasse kopiert: ReferenceBinding
      Perform a downwards type projection as per JLS 4.10.5
      Setzt außer Kraft:
      downwardsProjection in Klasse ReferenceBinding
      Parameter:
      scope - Relevant scope for evaluating type projection
      mentionedTypeVariables - Filter for mentioned type variabled
      Gibt zurück:
      Downwards type projection of 'this', or null if downwards projection is undefined
    • 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
    • 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