On 2011-12-22 18:33, Adam Wilson wrote:
On Wed, 21 Dec 2011 23:43:56 -0800, Jacob Carlborg <d...@me.com> 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://lightben...@github.com/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.

--
/Jacob Carlborg

Reply via email to