Source code annotations alla Java
Jacob Carlborg
doob at me.com
Thu Jan 20 10:17:22 PST 2011
On 2011-01-20 14:47, Justin Johansson wrote:
> Not long ago the Java Language people introduced the idea of annotations
> together with an annotation processing tool (apt).
>
> Now perhaps the idea of source code annotations is not actually a Java
> invention per se, however for someone learning D is there any equivalent
> idiom [of Java annotations] in the D language?
Depending on what you want to do you can create a template mixin that
accepts string(s)/alias(es). For example: for the serialization library
(http://dsource.org/projects/orange) I'm working on the following syntax
is used:
class Foo
{
int x;
int y;
int z;
mixin NonSerialized!(z);
}
The above mixin indicates that the "z" instance variable shouldn't be
serialized. This is (currently) achieved by defining a field in the
mixed in template (which will be added to the class) which is a struct
containing the string of the filed which shouldn't be serialized. Then I
iterate over all the fields in the class with .tupleof and collects all
mixed in fields in a list. Then I know what fields to skip later during
the serialization.
--
/Jacob Carlborg
More information about the Digitalmars-d-learn
mailing list