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 public import dmd.init : Designator; 38 39 40 alias initializerToExpression = dmd.initsem.initializerToExpression; 41 alias typeToExpression = dmd.typesem.typeToExpression; 42 alias UserAttributeDeclaration = dmd.attrib.UserAttributeDeclaration; 43 alias Ensure = dmd.func.Ensure; // workaround for bug in older DMD frontends 44 alias ErrorExp = dmd.expression.ErrorExp; 45 46 alias MODFlags = dmd.mtype.MODFlags; 47 alias Type = dmd.mtype.Type; 48 alias Parameter = dmd.mtype.Parameter; 49 alias Tarray = dmd.mtype.Tarray; 50 alias Taarray = dmd.mtype.Taarray; 51 alias Tbool = dmd.mtype.Tbool; 52 alias Tchar = dmd.mtype.Tchar; 53 alias Tdchar = dmd.mtype.Tdchar; 54 alias Tdelegate = dmd.mtype.Tdelegate; 55 alias Tenum = dmd.mtype.Tenum; 56 alias Terror = dmd.mtype.Terror; 57 alias Tfloat32 = dmd.mtype.Tfloat32; 58 alias Tfloat64 = dmd.mtype.Tfloat64; 59 alias Tfloat80 = dmd.mtype.Tfloat80; 60 alias Tfunction = dmd.mtype.Tfunction; 61 alias Tpointer = dmd.mtype.Tpointer; 62 alias Treference = dmd.mtype.Treference; 63 alias Tident = dmd.mtype.Tident; 64 alias Tint8 = dmd.mtype.Tint8; 65 alias Tint16 = dmd.mtype.Tint16; 66 alias Tint32 = dmd.mtype.Tint32; 67 alias Tint64 = dmd.mtype.Tint64; 68 alias Tsarray = dmd.mtype.Tsarray; 69 alias Tstruct = dmd.mtype.Tstruct; 70 alias Tuns8 = dmd.mtype.Tuns8; 71 alias Tuns16 = dmd.mtype.Tuns16; 72 alias Tuns32 = dmd.mtype.Tuns32; 73 alias Tuns64 = dmd.mtype.Tuns64; 74 alias Tvoid = dmd.mtype.Tvoid; 75 alias Twchar = dmd.mtype.Twchar; 76 alias Tnoreturn = dmd.mtype.Tnoreturn; 77 78 alias Timaginary32 = dmd.mtype.Timaginary32; 79 alias Timaginary64 = dmd.mtype.Timaginary64; 80 alias Timaginary80 = dmd.mtype.Timaginary80; 81 alias Tcomplex32 = dmd.mtype.Tcomplex32; 82 alias Tcomplex64 = dmd.mtype.Tcomplex64; 83 alias Tcomplex80 = dmd.mtype.Tcomplex80; 84 85 alias ParameterList = dmd.mtype.ParameterList; 86 alias VarArg = dmd.mtype.VarArg; 87 alias STC = dmd.declaration.STC; 88 alias Dsymbol = dmd.dsymbol.Dsymbol; 89 alias Dsymbols = dmd.dsymbol.Dsymbols; 90 alias Visibility = dmd.dsymbol.Visibility; 91 92 alias stcToBuffer = dmd.hdrgen.stcToBuffer; 93 alias linkageToChars = dmd.hdrgen.linkageToChars; 94 alias visibilityToChars = dmd.hdrgen.visibilityToChars; 95 96 alias isType = dmd.dtemplate.isType; 97 alias isExpression = dmd.dtemplate.isExpression; 98 alias isTuple = dmd.dtemplate.isTuple; 99 100 alias IgnoreErrors = dmd.dsymbol.IgnoreErrors; 101 alias PASS = dmd.dsymbol.PASS; 102 }