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

