On Thu, 22 Dec 2011 13:02:49 -0800, Jacob Carlborg <[email protected]> wrote:
On 2011-12-22 18:33, Adam Wilson wrote:
On Wed, 21 Dec 2011 23:43:56 -0800, Jacob Carlborg <[email protected]> wrote:
On 2011-12-22 08:07, Adam Wilson wrote:
The latest DI generation code is now on my Git account and ready for
testing. It fixes the following issues:
1. Variables in template functions/classes would be stripped of their
initializers.
2. Manifest Constants would lose their initializers.
DI generation is getting close! Every Phobos DI module I've tried has
passed the VisualD parser/lexer (for whatever that is worth). I want
to
do some build testing with those files, but even complicated modules
like std.algorithm and std.regex are passing the lexer/parser. If
everything goes well with that testing I'll open up a pull for dmd.
Hopefully proper DI generation will make it into 2.058!
You can get the latest from my git account here:
https://[email protected]/LightBender/dmd.git
Can the generator handle this:
id objc_msgSend (ARGS...)(id theReceiver, SEL theSelector, ARGS args)
{
alias extern (C) id function (id, SEL, ARGS) fp;
return (cast(fp)&c_objc_msgSend)(theReceiver, theSelector, args);
}
I know it had problems with that, at least in previous versions of DMD.
Well, without the accompanying types that are used in the declaration
I'm not entire sure how I could give you a good answer. However, since
it's a template function, I can say that template functions in DI files
are basically straight implementation dumps of the D file. Can you tell
me where DI generation hiccups in that code? If the hiccup is inside the
function impl than I doubt anything I've changed will fix your error.
Never mind, it seems to be working.
Did you check it against my forked code? I want to make sure that there
are as few errors as possible before I open up the pull. :-)
--
Adam Wilson
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/