Interface JType

All Superinterfaces:
honeyroasted.collect.copy.Copyable<JType, JTypeCache<JType,JType>>, honeyroasted.almonds.SimpleName
All Known Subinterfaces:
JArgumentType, JArrayType, JClassReference, JClassType, JFieldReference, JGenericDeclaration, JInstantiableType, JIntersectionType, JMetaVarType, JMethodReference, JMethodType, JNoneType, JParameterizedClassType, JParameterizedMethodType, JParameterizedType, JPrimitiveType, JVarType, JWildType, JWildType.Lower, JWildType.Upper
All Known Implementing Classes:
JAbstractDelegateType, JAbstractPossiblyUnmodifiableDelegateType, JAbstractPossiblyUnmodifiableType, JAbstractType, JArrayTypeDelegate, JArrayTypeImpl, JClassReferenceDelegate, JClassReferenceImpl, JFieldReferenceDelegate, JFieldReferenceImpl, JIntersectionTypeDelegate, JIntersectionTypeImpl, JMetaVarTypeDelegate, JMetaVarTypeImpl, JMethodReferenceDelegate, JMethodReferenceImpl, JNoneTypeImpl, JParameterizedClassTypeDelegate, JParameterizedClassTypeImpl, JParameterizedMethodTypeDelegate, JParameterizedMethodTypeImpl, JPrimitiveTypeImpl, JVarTypeDelegate, JVarTypeImpl, JWildTypeLowerDelegate, JWildTypeLowerImpl, JWildTypeUpperDelegate, JWildTypeUpperImpl

public interface JType extends honeyroasted.almonds.SimpleName, honeyroasted.collect.copy.Copyable<JType, JTypeCache<JType,JType>>
  • Method Details

    • typeSystem

      JTypeSystem typeSystem()
    • signature

      default JSignature signature()
    • declarationSignature

      default JSignature declarationSignature()
    • descriptor

      default JDescriptor descriptor()
    • accept

      <R,P> R accept(JTypeVisitor<R,P> visitor, P context)
    • metadata

      honeyroasted.collect.property.PropertySet metadata()
    • varTypeResolver

      default JVarTypeResolveVisitor varTypeResolver()
    • upwardsProjection

      default JType upwardsProjection()
    • upwardsProjection

      default JType upwardsProjection(Predicate<JType> restricted)
    • downwardsProjection

      default Optional<JType> downwardsProjection()
    • downwardsProjection

      default Optional<JType> downwardsProjection(Predicate<JType> restricted)
    • accept

      default <R,P> R accept(JTypeVisitor<R,P> visitor)
    • accept

      default boolean accept(Predicate<JType> visitor)
    • isCompatibleTo

      default boolean isCompatibleTo(JType other, JTypeConstraints.Compatible.Context context)
    • isCompatibleFrom

      default boolean isCompatibleFrom(JType other, JTypeConstraints.Compatible.Context context)
    • isAssignableTo

      default boolean isAssignableTo(JType other)
    • isAssignableFrom

      default boolean isAssignableFrom(JType other)
    • baseCaseEquivalence

      static boolean baseCaseEquivalence(JType left, JType other, Set<honeyroasted.collect.multi.Pair<JType,JType>> seen)
    • concat

      static <T> Set<T> concat(Set<T> set, T... vals)
    • typeEquals

      static boolean typeEquals(JType left, JType right)
    • typeEquals

      static boolean typeEquals(JType left, JType right, Set<honeyroasted.collect.multi.Pair<JType,JType>> seen)
    • structuralEquals

      static boolean structuralEquals(JType left, JType right)
    • structuralEquals

      static boolean structuralEquals(JType left, JType right, Set<honeyroasted.collect.multi.Pair<JType,JType>> seen)
    • equals

      static boolean equals(JType left, JType right, JType.Equality kind, Set<honeyroasted.collect.multi.Pair<JType,JType>> seen)
    • equals

      static boolean equals(List<? extends JType> left, List<? extends JType> right, JType.Equality kind, Set<honeyroasted.collect.multi.Pair<JType,JType>> seen)
    • equals

      static boolean equals(Set<? extends JType> left, Set<? extends JType> right, JType.Equality kind, Set<honeyroasted.collect.multi.Pair<JType,JType>> seen)
    • hashCode

      static int hashCode(JType type, Set<JType> seen)
    • hashCode

      static int hashCode(List<? extends JType> list, Set<JType> seen)
    • hashCode

      static int hashCode(Set<? extends JType> set, Set<JType> seen)
    • multiHash

      static int multiHash(int... hashes)
    • equals

      boolean equals(JType other, JType.Equality kind, Set<honeyroasted.collect.multi.Pair<JType,JType>> seen)
    • equals

      default boolean equals(JType other, JType.Equality kind)
    • typeEquals

      default boolean typeEquals(JType other)
    • structuralEquals

      default boolean structuralEquals(JType other)
    • hashCode

      int hashCode(Set<JType> seen)
    • isNullType

      default boolean isNullType()
    • knownDirectSupertypes

      default Set<JType> knownDirectSupertypes()
    • copy

      <T extends JType> T copy(JTypeCache<JType,JType> cache)
      Specified by:
      copy in interface honeyroasted.collect.copy.Copyable<JType, JTypeCache<JType,JType>>
    • copy

      default <T extends JType> T copy()
      Specified by:
      copy in interface honeyroasted.collect.copy.Copyable<JType, JTypeCache<JType,JType>>
    • isProperType

      default boolean isProperType()
    • hasCyclicTypeVariables

      default boolean hasCyclicTypeVariables()
    • hasCyclicTypeVariables

      default boolean hasCyclicTypeVariables(Set<JVarType> seen)
    • isResultType

      default boolean isResultType(Object object)
      Specified by:
      isResultType in interface honeyroasted.collect.copy.Copyable<JType, JTypeCache<JType,JType>>
    • isContextType

      default boolean isContextType(Object object)
      Specified by:
      isContextType in interface honeyroasted.collect.copy.Copyable<JType, JTypeCache<JType,JType>>