зеркало из https://github.com/mozilla/gecko-dev.git
3c368026cb
This patch doesn't change behavior; it's just expanding an abbreviated typename. Without this patch, my local static-analysis build fails with the following error for mozStorageStatementJSHelper.h (which has a class that implements nsIXPCScriptable and is outside of SpiderMonkey): "error: The fully qualified types are preferred over the shorthand typedefs for JS::Handle/JS::Rooted types outside SpiderMonkey." The error message points to the NS_DECL_NSIXPCSCRIPTABLE macro, and specifically to a usage of this typename inside of that macro. This patch's type-expansion seems to appease this static analysis rule. Before this patch, the type here was `JS::MutableHandleIdVector` which is a typedef for `MutableHandle<StackGCVector<JS::PropertyKey>>` as defined here: https://searchfox.org/mozilla-central/rev/fe5c9c39a879b07d5b629257f63d825c3c8cd0ed/js/public/TypeDecls.h#98 After this patch, the type here is `JS::MutableHandleVector<JS::PropertyKey>` (which I took from the static analysis error message's suggestion). That expands to the same full-qualified type, since `MutableHandleVector<T>` is an alias for `MutableHandle<StackGCVector<T>>` as defined here: https://searchfox.org/mozilla-central/rev/fe5c9c39a879b07d5b629257f63d825c3c8cd0ed/js/public/TypeDecls.h#128 Differential Revision: https://phabricator.services.mozilla.com/D160690 |
||
---|---|---|
.. | ||
moz.build | ||
mozIJSSubScriptLoader.idl | ||
nsIXPCScriptable.idl | ||
xpcIJSWeakReference.idl | ||
xpccomponents.idl |