☠☠ backed out by 472716252ea3 ☠ ☠ | |
author | Kyle Huey <khuey@kylehuey.com> |
Fri, 02 Sep 2011 17:36:48 -0400 | |
changeset 77772 | e5815c156b6c95e4ccdb38c9d1886af2ece4518e |
parent 77771 | 9ca928d8095c07ac3ba0a66baeb9799dfd15215c |
child 77773 | 472716252ea34db8e104890af192981688d01751 |
child 78302 | cfe788512a5dcf0163aea3183cb79d9fc2510014 |
push id | 78 |
push user | clegnitto@mozilla.com |
push date | Fri, 16 Dec 2011 17:32:24 +0000 |
treeherder | mozilla-release@79d24e644fdd [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | ted |
bugs | 683096 |
milestone | 9.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/xpcom/idl-parser/typelib.py +++ b/xpcom/idl-parser/typelib.py @@ -89,17 +89,19 @@ def build_interface(iface, ifaces): else: tag = TypeMap[type.name] isPtr = (tag == xpt.Type.Tags.char_ptr or tag == xpt.Type.Tags.wchar_t_ptr) return xpt.SimpleType(tag, pointer=isPtr, reference=False) if isinstance(type, xpidl.Array): - return xpt.ArrayType(get_type(type.type, calltype), size_is, + # NB: For an Array<T> we pass down the iid_is to get the type of T. + # This allows Arrays of InterfaceIs types to work. + return xpt.ArrayType(get_type(type.type, calltype, iid_is), size_is, #XXXkhuey length_is duplicates size_is (bug 677788), size_is) if isinstance(type, xpidl.Interface) or isinstance(type, xpidl.Forward): xptiface = None for i in ifaces: if i.name == type.name: xptiface = i