Interface CBTypeDeclarationType

All Known Subinterfaces:
CBExternalType, CBRecordType, CBVariantType
All Known Implementing Classes:
CBTypeDeclarationExternal, CBTypeDeclarationRecord, CBTypeDeclarationVariant

public interface CBTypeDeclarationType
The base type of type declarations.
  • Method Details

    • owner

      CBPackageType owner()
      Returns:
      The package that owns this declaration
    • name

      String name()
      Returns:
      The package-unique declaration name
    • arity

      default int arity()
      Returns:
      The number of type parameters
    • parameters

      List<CBTypeParameterType> parameters()
      Returns:
      The type parameters, if any, in declaration order
    • parametersByName

      default Map<String, CBTypeParameterType> parametersByName()
      Returns:
      The type parameters of the type by name
    • external

      Returns:
      The external name, if any
    • id

      UUID id()
      Returns:
      The unique ID of the type
    • documentation

      List<String> documentation()
      Returns:
      Documentation for the type declaration
    • idForType

      default UUID idForType(String type)
      Parameters:
      type - The "type" of type declaration (record, variant, etc)
      Returns:
      The unique ID of the type