Mixins and comments
Ary Manzana
ary at esperanto.org.ar
Wed Feb 21 12:48:38 PST 2007
One use of mixins could be generating classes with methods and variables
from a string definition (for example, to represent a table in a
database, or an AST node in some language). In most languages this is
done in two steps: some program generates the file and then it's
compiled (*); in D it's done in one step.
However, in (*) the generated code usually includes documentation. In D
currently this is not possible:
---
template GenStruct(char[] Name, char[] M1)
{
const char[] GenStruct =
"/** This comment for " ~ Name ~ " is invisible */"
~ "struct " ~ Name ~ "{ int " ~ M1 ~ "; }";
}
class S {
/** This comment is visible */
struct M {
}
// No comment for the generated struct Foo
mixin(GenStruct!("Foo", "bar", "var"));
}
---
Is there any chance this could work in the future?
More information about the Digitalmars-d
mailing list