0
|
1 module dmd.STC;
|
|
2
|
139
|
3 enum STC : ulong
|
0
|
4 {
|
|
5 STCundefined = 0,
|
|
6 STCstatic = 1,
|
|
7 STCextern = 2,
|
|
8 STCconst = 4,
|
|
9 STCfinal = 8,
|
|
10 STCabstract = 0x10,
|
|
11 STCparameter = 0x20,
|
|
12 STCfield = 0x40,
|
|
13 STCoverride = 0x80,
|
|
14 STCauto = 0x100,
|
|
15 STCsynchronized = 0x200,
|
|
16 STCdeprecated = 0x400,
|
|
17 STCin = 0x800, // in parameter
|
|
18 STCout = 0x1000, // out parameter
|
|
19 STClazy = 0x2000, // lazy parameter
|
|
20 STCforeach = 0x4000, // variable for foreach loop
|
|
21 STCcomdat = 0x8000, // should go into COMDAT record
|
|
22 STCvariadic = 0x10000, // variadic function argument
|
|
23 STCctorinit = 0x20000, // can only be set inside constructor
|
|
24 STCtemplateparameter = 0x40000, // template parameter
|
|
25 STCscope = 0x80000, // template parameter
|
|
26 STCimmutable = 0x100000,
|
|
27 STCref = 0x200000,
|
|
28 STCinit = 0x400000, // has explicit initializer
|
|
29 STCmanifest = 0x800000, // manifest constant
|
|
30 STCnodtor = 0x1000000, // don't run destructor
|
|
31 STCnothrow = 0x2000000, // never throws exceptions
|
|
32 STCpure = 0x4000000, // pure function
|
|
33 STCtls = 0x8000000, // thread local
|
|
34 STCalias = 0x10000000, // alias parameter
|
|
35 STCshared = 0x20000000, // accessible from multiple threads
|
|
36 STCgshared = 0x40000000, // accessible from multiple threads
|
|
37 // but not typed as "shared"
|
135
|
38 STCwild = 0x80000000, // for "wild" type constructor
|
|
39 STC_TYPECTOR = (STCconst | STCimmutable | STCshared | STCwild),
|
139
|
40
|
|
41 // attributes
|
|
42 STCproperty = 0x100000000,
|
|
43 STCsafe = 0x200000000,
|
|
44 STCtrusted = 0x400000000,
|
|
45 STCsystem = 0x800000000,
|
|
46 STCctfe = 0x1000000000, // can be used in CTFE, even if it is static
|
0
|
47 }
|
139
|
48 alias STC StorageClass;
|
0
|
49
|
|
50 import dmd.EnumUtils;
|
139
|
51 mixin(BringToCurrentScope!(STC)); |