I'm trying to write some code that finds all the members of a class that
have a particular user defined attribute. My current attempt is at
https://github.com/todayman/d_template_experiments/tree/8fccd27d7d5557ec6e2f0614374cf5f79fe80b4c
I would like to have a static method that returns an array of strings of
the names of the members with the "@Sync" attribute. I use the
allMembers trait to get the list of strings, then try to filter out the
ones I want. There are problems when I convert from the string to a
symbol / something to get the attributes. Right now, I'm getting errors
like:
metadata.d(158): Error: template instance doesFieldSync_imp!(_hash) cannot use
local '_hash' as parameter to non-global template doesFieldSync_imp(alias
field)()
which I understand is related to
http://d.puremagic.com/issues/show_bug.cgi?id=5710
and
metadata.d(160): Error: first argument is not a symbol
from
_traits(getAttributes, mxin("FileData."~key))
What's a good way to work around these? I'm also open to entirely
different ways of doing this.
Thanks,
Paul