Module dev.civl.abc

Enum Class Type.TypeKind

java.lang.Object
java.lang.Enum<Type.TypeKind>
dev.civl.abc.ast.type.IF.Type.TypeKind
All Implemented Interfaces:
Serializable, Comparable<Type.TypeKind>, Constable
Enclosing interface:
Type

public static enum Type.TypeKind extends Enum<Type.TypeKind>
The different kinds of types.
  • Enum Constant Details

    • ARRAY

      public static final Type.TypeKind ARRAY
      An array type; an instance of ArrayType
    • ATOMIC

      public static final Type.TypeKind ATOMIC
      An atomic type; an instance of AtomicType
    • BASIC

      public static final Type.TypeKind BASIC
      A "standard basic type"; an instance of StandardBasicType
    • DOMAIN

      public static final Type.TypeKind DOMAIN
      The CIVL-C domain type, $domain or $domain(n).
    • ENUMERATION

      public static final Type.TypeKind ENUMERATION
      An enumeration type; an instance of EnumerationType
    • FUNCTION

      public static final Type.TypeKind FUNCTION
      A function type; an instance of FunctionType
    • HEAP

      public static final Type.TypeKind HEAP
      The CIVL-C heap type, represented by $heap
    • LAMBDA

      public static final Type.TypeKind LAMBDA
      The CIVL-C $lambda type, represented by $lambda_t
    • MEM

      public static final Type.TypeKind MEM
      The CIVL-C memory type, represented by $memory
    • OTHER_INTEGER

      public static final Type.TypeKind OTHER_INTEGER
      An integer type which is not a standard basic type. The C Standard allows a C implementation to provide additional integer types beyond those specified in the Standard.
    • POINTER

      public static final Type.TypeKind POINTER
      A pointer type; an instance of PointerType
    • PROCESS

      public static final Type.TypeKind PROCESS
      The CIVL-C process type, represented by $proc
    • QUALIFIED

      public static final Type.TypeKind QUALIFIED
      A qualified object type; an instance of QualifiedObjectType
    • RANGE

      public static final Type.TypeKind RANGE
      The CIVL-C range type, denoted $range
    • SET

      public static final Type.TypeKind SET
      The CIVL-C set type. Expressions may have set type but one cannot declare a variable or a function has (or returns) a set type.
    • SCOPE

      public static final Type.TypeKind SCOPE
      The CIVL-C scope type, represented by $scope
    • STRUCTURE_OR_UNION

      public static final Type.TypeKind STRUCTURE_OR_UNION
      A structure or union type; an instance of StructureOrUnionType
    • VOID

      public static final Type.TypeKind VOID
      The void type, used to represent no type in places where a type is syntactically required.
  • Method Details

    • values

      public static Type.TypeKind[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static Type.TypeKind valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null