bindings: Decide whether we need both ImplType and ResultType for all IDL types |
||||
Issue descriptionThis came up in https://chromium-review.googlesource.com/c/chromium/src/+/831497. Right now most IDL* classes only have an ImplType typedef, with the exception being IDLNullable, which has both ImplType and ReturnType, mostly because interface types (e.g. Node) have ImplType == Node and ResultType == Node*. We should figure out if we should have both in all IDL classes, or make IDLNullable work with only one of them.
,
Jan 2 2018
Is Oilpan able to handle WTF::IsGarbageCollected<Node*>, for example?
,
Jan 2 2018
It would be easy to use WTF::IsGarbageCollectedType<std::remove_pointer_t<Node*>>.
,
Jan 2 2018
*Must remember C++11 exists, must remember C++11 exists...*
,
Jan 10 2018
Well, I vaguely think that we might need several kinds of type in bindings. This is off from "Nullable". I vaguely remember that Dictionaries and unions are created off heap, passed-by-reference, returned-by-value.
MyDict dict = MyDict::Create(...); // return-by-value
// void method(MyDict&);
obj->method(dict); // call-by-reference
I don't have a conclusion yet, but I've been thinking about "to have pointer_like_type, reference_like_type, value_like_type" (grouped-by-mechanism) or "to have arg_type, return_type, member_type, etc." (grouped-by-purpose) or something else.
,
Jan 10
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jan 10
|
||||
►
Sign in to add a comment |
||||
Comment 1 by jbroman@chromium.org
, Jan 2 2018