1 /**
2  * Defines AST nodes for the code generation stage.
3  *
4  * Documentation:  https://dlang.org/phobos/dmd_astcodegen.html
5  * Coverage:    https://codecov.io/gh/dlang/dmd/src/master/src/dmd/astcodegen.d
6  */
7 module dmd.astcodegen;
8 
9 
10 struct ASTCodegen
11 {
12     public import dmd.aggregate;
13     public import dmd.aliasthis;
14     public import dmd.arraytypes;
15     public import dmd.attrib;
16     public import dmd.cond;
17     public import dmd.dclass;
18     public import dmd.declaration;
19     public import dmd.denum;
20     public import dmd.dimport;
21     public import dmd.dmodule;
22     public import dmd.dstruct;
23     public import dmd.dsymbol;
24     public import dmd.dtemplate;
25     public import dmd.dversion;
26     public import dmd.expression;
27     public import dmd.func;
28     public import dmd.hdrgen;
29     public import dmd.init;
30     public import dmd.initsem;
31     public import dmd.mtype;
32     public import dmd.nspace;
33     public import dmd.statement;
34     public import dmd.staticassert;
35     public import dmd.typesem;
36     public import dmd.ctfeexpr;
37 
38 
39     alias initializerToExpression   = dmd.initsem.initializerToExpression;
40     alias typeToExpression          = dmd.typesem.typeToExpression;
41     alias UserAttributeDeclaration  = dmd.attrib.UserAttributeDeclaration;
42     alias Ensure                    = dmd.func.Ensure; // workaround for bug in older DMD frontends
43 
44     alias MODFlags                  = dmd.mtype.MODFlags;
45     alias Type                      = dmd.mtype.Type;
46     alias Parameter                 = dmd.mtype.Parameter;
47     alias Tarray                    = dmd.mtype.Tarray;
48     alias Taarray                   = dmd.mtype.Taarray;
49     alias Tbool                     = dmd.mtype.Tbool;
50     alias Tchar                     = dmd.mtype.Tchar;
51     alias Tdchar                    = dmd.mtype.Tdchar;
52     alias Tdelegate                 = dmd.mtype.Tdelegate;
53     alias Tenum                     = dmd.mtype.Tenum;
54     alias Terror                    = dmd.mtype.Terror;
55     alias Tfloat32                  = dmd.mtype.Tfloat32;
56     alias Tfloat64                  = dmd.mtype.Tfloat64;
57     alias Tfloat80                  = dmd.mtype.Tfloat80;
58     alias Tfunction                 = dmd.mtype.Tfunction;
59     alias Tpointer                  = dmd.mtype.Tpointer;
60     alias Tident                    = dmd.mtype.Tident;
61     alias Tint8                     = dmd.mtype.Tint8;
62     alias Tint16                    = dmd.mtype.Tint16;
63     alias Tint32                    = dmd.mtype.Tint32;
64     alias Tint64                    = dmd.mtype.Tint64;
65     alias Tsarray                   = dmd.mtype.Tsarray;
66     alias Tstruct                   = dmd.mtype.Tstruct;
67     alias Tuns8                     = dmd.mtype.Tuns8;
68     alias Tuns16                    = dmd.mtype.Tuns16;
69     alias Tuns32                    = dmd.mtype.Tuns32;
70     alias Tuns64                    = dmd.mtype.Tuns64;
71     alias Tvoid                     = dmd.mtype.Tvoid;
72     alias Twchar                    = dmd.mtype.Twchar;
73 
74     alias ParameterList             = dmd.mtype.ParameterList;
75     alias VarArg                    = dmd.mtype.VarArg;
76     alias STC                       = dmd.declaration.STC;
77     alias Dsymbol                   = dmd.dsymbol.Dsymbol;
78     alias Dsymbols                  = dmd.dsymbol.Dsymbols;
79     alias Prot                      = dmd.dsymbol.Prot;
80 
81     alias stcToBuffer               = dmd.hdrgen.stcToBuffer;
82     alias linkageToChars            = dmd.hdrgen.linkageToChars;
83     alias protectionToChars         = dmd.hdrgen.protectionToChars;
84 
85     alias isType                    = dmd.dtemplate.isType;
86     alias isExpression              = dmd.dtemplate.isExpression;
87     alias isTuple                   = dmd.dtemplate.isTuple;
88 
89 }