Replacing AA's in druntime
Daniel Murphy
yebblies at nospamgmail.com
Tue Mar 13 18:37:08 PDT 2012
Welcome to Hell. =D
Some of the things you can do with AAs are recognized by the compiler during
semantic and turned into druntime calls, sometimes the constructs survive
all the way to the glue layer (e2ir) and are turned into druntime calls
there and sometimes the type of an expressions is magically rewritten to
AssociativeArray and the methods are looked up normally. (this one caused
problems with literals)
The type needs to stay as V[K] _not_ AssociativeArray, so that error
messages work properly. Something needs to be done about literals too...
Don't forget template arg deduction!
There's a function AAGetSym (or something like that) that can be searched
for to find where dmd emits druntime calls, but there might be other places
it generates them.
Enjoy.
More information about the Digitalmars-d
mailing list