1 /// Author: Aziz Köksal
2 /// License: GPL3
3 /// $(Maturity high)
4 module dil.semantic.TypesEnum;
5 
6 /// Enumeration of Type IDs.
7 enum TYP
8 {
9   Error,
10   // Basic types.
11   Char,     /// char
12   WChar,    /// wchar
13   DChar,    /// dchar
14   Bool,     /// bool
15   Int8,     /// byte
16   UInt8,    /// ubyte
17   Int16,    /// short
18   UInt16,   /// ushort
19   Int32,    /// int
20   UInt32,   /// uint
21   Int64,    /// long
22   UInt64,   /// ulong
23   Int128,   /// cent
24   UInt128,  /// ucent
25   Float32,  /// float
26   Float64,  /// double
27   Float80,  /// real
28   IFloat32, /// ifloat
29   IFloat64, /// idouble
30   IFloat80, /// ireal
31   CFloat32, /// cfloat
32   CFloat64, /// cdouble
33   CFloat80, /// creal
34   Void,     /// void
35 
36   None,   /// TypeNone in the specs. Purpose?
37 
38   Parameter, /// Function parameter.
39   Parameters, /// List of function parameters.
40 
41   DArray, /// Dynamic array.
42   SArray, /// Static array.
43   AArray, /// Associative array.
44 
45   Enum,       /// An enum.
46   Struct,     /// A struct.
47   Class,      /// A class.
48   Typedef,    /// A typedef.
49   Function,   /// A function.
50   FuncPtr,    /// A function pointer.
51   Delegate,   /// A delegate.
52   Pointer,    /// A pointer.
53   Reference,  /// A reference.
54   Identifier, /// An identifier.
55   TInstance,  /// A template instance.
56   Tuple,      /// A template tuple.
57   Const,      /// A constant type. D2.0
58   Immutable,  /// An immutable type. D2.0
59 }