mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
a8065c91a7
This matters when a [Cached] attribute appears on an interface, call it C, which is a consequential interface for both A and B. There is no a priori reason that A and B would have identical numbers of their own [Cached] attributes, which will come before the members of consequential interfaces in the member array, so in general the attribute may have different slot indices in A and B. The approach taken here is to keep things simple and make the slot index of an interface member either None or a dict mapping interface name to the slot index. In the common case of only one interface being involved this is a little wasteful, but it keeps things simple for consumers, and one extra dict per [Cached] attribute is not a big deal in the grand scheme of the data structures the Web IDL parser produces. Another option would be to store None, a number (if there is only one interface involved), or a dict (if there are several interfaces involved). If we did that, we'd probably want to add some method to get the slot index for a given interface, because the logic for doing that would get a bit more complicated. |
||
---|---|---|
.. | ||
crashtests | ||
docs | ||
mozwebidlcodegen | ||
parser | ||
test | ||
AtomList.h | ||
BindingDeclarations.h | ||
Bindings.conf | ||
BindingUtils.cpp | ||
BindingUtils.h | ||
CallbackFunction.h | ||
CallbackInterface.cpp | ||
CallbackInterface.h | ||
CallbackObject.cpp | ||
CallbackObject.h | ||
Codegen.py | ||
Configuration.py | ||
Date.cpp | ||
Date.h | ||
DOMJSClass.h | ||
DOMJSProxyHandler.cpp | ||
DOMJSProxyHandler.h | ||
DOMString.h | ||
ErrorIPCUtils.h | ||
ErrorResult.h | ||
Errors.msg | ||
Exceptions.cpp | ||
Exceptions.h | ||
GenerateCSS2PropertiesWebIDL.py | ||
IterableIterator.cpp | ||
IterableIterator.h | ||
JSSlots.h | ||
mach_commands.py | ||
Makefile.in | ||
moz.build | ||
MozMap.h | ||
NonRefcountedDOMObject.h | ||
Nullable.h | ||
PrimitiveConversions.h | ||
RootedDictionary.h | ||
StructuredClone.cpp | ||
StructuredClone.h | ||
ToJSValue.cpp | ||
ToJSValue.h | ||
TypedArray.h | ||
UnionMember.h |