diff options
Diffstat (limited to 'dom/bindings')
-rw-r--r-- | dom/bindings/Codegen.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/dom/bindings/Codegen.py b/dom/bindings/Codegen.py index 3174c37dd..7a6668687 100644 --- a/dom/bindings/Codegen.py +++ b/dom/bindings/Codegen.py @@ -1069,6 +1069,20 @@ class CGHeaders(CGWrapper): if parent: ancestors.append(parent) interfaceDeps.extend(ancestors) + + # Include parent interface headers needed for jsonifier code. + jsonInterfaceParents = [] + for desc in descriptors: + if not desc.operations['Jsonifier']: + continue + parent = desc.interface.parent + while parent: + parentDesc = desc.getDescriptor(parent.identifier.name) + if parentDesc.operations['Jsonifier']: + jsonInterfaceParents.append(parentDesc.interface) + parent = parent.parent + interfaceDeps.extend(jsonInterfaceParents) + bindingIncludes = set(self.getDeclarationFilename(d) for d in interfaceDeps) # Grab all the implementation declaration files we need. |