| Index: tools/dom/scripts/idlnode.py
|
| diff --git a/tools/dom/scripts/idlnode.py b/tools/dom/scripts/idlnode.py
|
| index bd47e72e2f7e2c7fe08845de3be4486edb8cc80e..5e4d156ae223621680bf4d479b3e0a4d39683e6c 100755
|
| --- a/tools/dom/scripts/idlnode.py
|
| +++ b/tools/dom/scripts/idlnode.py
|
| @@ -26,16 +26,19 @@ def report_unions_to_any():
|
|
|
| # Ugly but Chrome IDLs can reference typedefs in any IDL w/o an include. So we
|
| # need to remember any typedef seen then alias any reference to a typedef.
|
| -typeDefsFixup = []
|
| +_typeDefsFixup = []
|
|
|
| -def _resolveTypedef(type):
|
| +def _addTypedef(typedef):
|
| + _typeDefsFixup.append(typedef)
|
| +
|
| +def resolveTypedef(type):
|
| """ Given a type if it's a known typedef (only typedef's that aren't union)
|
| are remembered for fixup. typedefs that are union type are mapped to
|
| any so those we don't need to alias. typedefs referenced in the file
|
| where the typedef was defined are automatically aliased to the real type.
|
| This resolves typedef where the declaration is in another IDL file.
|
| """
|
| - for typedef in typeDefsFixup:
|
| + for typedef in _typeDefsFixup:
|
| if typedef.id == type.id:
|
| return typedef.type
|
|
|
| @@ -439,7 +442,7 @@ class IDLFile(IDLNode):
|
| self.dictionaries.append(dictionary)
|
| else:
|
| # All other typedefs we record
|
| - typeDefsFixup.append(IDLTypeDef(typedef_type))
|
| + _addTypedef(IDLTypeDef(typedef_type))
|
|
|
| self.enums = self._convert_all(ast, 'Enum', IDLEnum)
|
|
|
| @@ -787,7 +790,7 @@ class IDLMember(IDLNode):
|
| IDLNode.__init__(self, ast)
|
|
|
| self.type = self._convert_first(ast, 'Type', IDLType)
|
| - self.type = _resolveTypedef(self.type)
|
| + self.type = resolveTypedef(self.type)
|
|
|
| self._convert_ext_attrs(ast)
|
| self._convert_annotations(ast)
|
| @@ -803,7 +806,8 @@ class IDLOperation(IDLMember):
|
| IDLMember.__init__(self, ast, doc_js_interface_name)
|
|
|
| self.type = self._convert_first(ast, 'ReturnType', IDLType)
|
| - self.type = _resolveTypedef(self.type)
|
| + self.type = resolveTypedef(self.type)
|
| +
|
| self.arguments = self._convert_all(ast, 'Argument', IDLArgument)
|
| self.specials = self._find_all(ast, 'Special')
|
| # Special case: there are getters of the form
|
| @@ -881,7 +885,7 @@ class IDLArgument(IDLNode):
|
| self.default_value_is_null = False
|
|
|
| self.type = self._convert_first(ast, 'Type', IDLType)
|
| - self.type = _resolveTypedef(self.type)
|
| + self.type = resolveTypedef(self.type)
|
|
|
| self.optional = self._has(ast, 'Optional')
|
| self._convert_ext_attrs(ast)
|
|
|