Dlang code mixin output

dennis luehring dl.soluz at gmx.net
Wed Jul 31 05:23:42 PDT 2013


Am 31.07.2013 14:09, schrieb JS:
> It would be nice to be able to have a precompilation step that
> produces a d output file that is the "mixed down" version with
> all the string mixins computed. This would allow one to look at
> the files, allow better code analysis/error messages, and
> intellisense and other things to be useful.
>
> A simple compiler switch would do the trick to enable such a
> feature. *.dc files could be generated, or whatever, for each d
> file if it uses string mixins(I suppose template mixins could
> also be reduced).

what about something that catches mixin results into a static 
compiletime strings

template GenStruct(string Name, string M1)
{
     const char[] GenStruct = "struct " ~ Name ~ "{ int " ~ M1 ~ "; }";
}

which generates:

struct Foo { int bar; }

catch_generated_output(my_mixin_output)
{
   mixin(GenStruct!("Foo", "bar"));
}

pragma(msg, my_mixin_output);

prints:

struct Foo { int bar; }






More information about the Digitalmars-d mailing list