Forgot to send to the list...<br><br><div class="gmail_quote">On Sat, Oct 9, 2010 at 1:51 PM, Frits van Bommel <span dir="ltr"><<a href="mailto:fvbommel@gmail.com">fvbommel@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">On Sat, Oct 9, 2010 at 11:26 AM, Jacob Carlborg <span dir="ltr"><<a href="mailto:doob@me.com" target="_blank">doob@me.com</a>></span> wrote:<br></div><div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

I'm working on source to source translator which translates<br>
Objective-C/C header files to D files. I've encountered a problem and<br>
that is how the include system works in the two languages. The import<br>
system in D works more like it does in Java than in C. For example:<br>
<br>
If I have three files:<br>
<br>
* A.h, includes B.h<br>
* B.h, includes C.h<br>
* C.h<br>
<br>
In C (the language) A.h would have access to everything in B.h and C.h<br>
as well. In D this is not the case, I would have to explicitly import<br>
both B.h and C.h to access it from A.h. So I guess the question is: for<br>
a given type, typedef or similar how can I determine where it's declared<br>
and if the file that it's declared in are already included or not?<br></blockquote></div><div><br>Couldn't you just translate it to D's "public import" instead of regular (implicitly private) import?<br>
</div></div>
</blockquote></div>