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 Taarray                   = dmd.mtype.Taarray;
48     alias Tbool                     = dmd.mtype.Tbool;
49     alias Tchar                     = dmd.mtype.Tchar;
50     alias Tdchar                    = dmd.mtype.Tdchar;
51     alias Tdelegate                 = dmd.mtype.Tdelegate;
52     alias Tenum                     = dmd.mtype.Tenum;
53     alias Terror                    = dmd.mtype.Terror;
54     alias Tfloat32                  = dmd.mtype.Tfloat32;
55     alias Tfloat64                  = dmd.mtype.Tfloat64;
56     alias Tfloat80                  = dmd.mtype.Tfloat80;
57     alias Tfunction                 = dmd.mtype.Tfunction;
58     alias Tpointer                  = dmd.mtype.Tpointer;
59     alias Tident                    = dmd.mtype.Tident;
60     alias Tint8                     = dmd.mtype.Tint8;
61     alias Tint16                    = dmd.mtype.Tint16;
62     alias Tint32                    = dmd.mtype.Tint32;
63     alias Tint64                    = dmd.mtype.Tint64;
64     alias Tsarray                   = dmd.mtype.Tsarray;
65     alias Tstruct                   = dmd.mtype.Tstruct;
66     alias Tuns8                     = dmd.mtype.Tuns8;
67     alias Tuns16                    = dmd.mtype.Tuns16;
68     alias Tuns32                    = dmd.mtype.Tuns32;
69     alias Tuns64                    = dmd.mtype.Tuns64;
70     alias Tvoid                     = dmd.mtype.Tvoid;
71     alias Twchar                    = dmd.mtype.Twchar;
72 
73     alias ParameterList             = dmd.mtype.ParameterList;
74     alias VarArg                    = dmd.mtype.VarArg;
75     alias STC                       = dmd.declaration.STC;
76     alias Dsymbol                   = dmd.dsymbol.Dsymbol;
77     alias Dsymbols                  = dmd.dsymbol.Dsymbols;
78     alias Prot                      = dmd.dsymbol.Prot;
79 
80     alias stcToBuffer               = dmd.hdrgen.stcToBuffer;
81     alias linkageToChars            = dmd.hdrgen.linkageToChars;
82     alias protectionToChars         = dmd.hdrgen.protectionToChars;
83 
84     alias isType                    = dmd.dtemplate.isType;
85     alias isExpression              = dmd.dtemplate.isExpression;
86     alias isTuple                   = dmd.dtemplate.isTuple;
87 
88 }