DI Generation Needs your Help!

Adam Wilson flyboynw at gmail.com
Thu Dec 22 16:22:11 PST 2011


On Thu, 22 Dec 2011 13:02:49 -0800, Jacob Carlborg <doob at me.com> wrote:

> On 2011-12-22 18:33, Adam Wilson wrote:
>> On Wed, 21 Dec 2011 23:43:56 -0800, Jacob Carlborg <doob at 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://LightBender@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.

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/


More information about the Digitalmars-d mailing list