On Sat, Aug 24, 2013 at 2:32 AM, Luke Wagner <[email protected]> wrote:
>
> - The you-can't-forward-declare-typedefs problem.  I think we can address 
> this as Brendan pointed out by forward declaring Handle and putting the 
> HandleX typedefs in jspubtd.h (perhaps with a comment above saying "See 
> js/public/RootingAPI.h").

jspubtd.h is now pretty big for a "include this everywhere" file.  It
forward declares lots of types, defines quite a few more, and even has
a few inline method definitions.  And we're moving away from
monolithic headers -- goodbye jsapi.h, hello js/*.h -- and jspubtd.h
falls in that tradition.

The good news is that 98% of Gecko's needs would be met by a new file
of this type that only contained the following forward declarations
and typedefs:
- Definitely: JSContext, JSObject, Value, Handle, MutableHandle,
HandleValue, MutableHandleValue
- Maybe: JSString, jsid, Rooted, and all remaining Rooted/Handle +
JSObject/JSString/jsid combinations.

So yes, this could be done.

Nick
_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to