| Index: Source/bindings/scripts/idl_definitions.py
|
| diff --git a/Source/bindings/scripts/idl_definitions.py b/Source/bindings/scripts/idl_definitions.py
|
| index 6ab669689276be08507046f72c8ec865c7870e1d..d4a22ce4255ae5f8813c8560638651c1ac6a55d0 100644
|
| --- a/Source/bindings/scripts/idl_definitions.py
|
| +++ b/Source/bindings/scripts/idl_definitions.py
|
| @@ -57,6 +57,8 @@ IdlDefinitions
|
|
|
| TypedObject :: mixin for typedef resolution
|
|
|
| +IdlArgument is 'picklable', as it is stored in interfaces_info.
|
| +
|
| Design doc: http://www.chromium.org/developers/design-documents/idl-compiler
|
| """
|
|
|
| @@ -105,6 +107,7 @@ class IdlDefinitions(object):
|
| self.callback_functions = {}
|
| self.dictionaries = {}
|
| self.enumerations = {}
|
| + self.implements = []
|
| self.interfaces = {}
|
| self.idl_name = idl_name
|
|
|
| @@ -136,8 +139,7 @@ class IdlDefinitions(object):
|
| callback_function = IdlCallbackFunction(idl_name, child)
|
| self.callback_functions[callback_function.name] = callback_function
|
| elif child_class == 'Implements':
|
| - # Implements is handled at the interface merging step
|
| - pass
|
| + self.implements.append(IdlImplement(child))
|
| elif child_class == 'Dictionary':
|
| dictionary = IdlDictionary(idl_name, child)
|
| self.dictionaries[dictionary.name] = dictionary
|
| @@ -590,6 +592,14 @@ class IdlArgument(TypedObject):
|
| else:
|
| raise ValueError('Unrecognized node class: %s' % child_class)
|
|
|
| + def __getstate__(self):
|
| + # FIXME: Return a picklable object which has enough information to
|
| + # unpickle.
|
| + return {}
|
| +
|
| + def __setstate__(self, state):
|
| + pass
|
| +
|
|
|
| def arguments_node_to_arguments(idl_name, node):
|
| # [Constructor] and [CustomConstructor] without arguments (the bare form)
|
| @@ -634,6 +644,16 @@ class IdlStringifier(object):
|
|
|
|
|
| ################################################################################
|
| +# Implement statements
|
| +################################################################################
|
| +
|
| +class IdlImplement(object):
|
| + def __init__(self, node):
|
| + self.left_interface = node.GetName()
|
| + self.right_interface = node.GetProperty('REFERENCE')
|
| +
|
| +
|
| +################################################################################
|
| # Extended attributes
|
| ################################################################################
|
|
|
|
|