diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2015-12-16 01:13:56 +0100 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2015-12-16 01:17:06 +0100 |
commit | 2522cfe53942421892aa2c4741e7e9237db7c828 (patch) | |
tree | a04c0b86622f42620915ff137922b2d89a517731 /components/script/dom/bindings/codegen/CodegenRust.py | |
parent | 85b43ea31726776b5d9aafa58786850c12e2c852 (diff) | |
download | servo-2522cfe53942421892aa2c4741e7e9237db7c828.tar.gz servo-2522cfe53942421892aa2c4741e7e9237db7c828.zip |
Do not create modules from files with nothing to codegen (fixes #8711)
Diffstat (limited to 'components/script/dom/bindings/codegen/CodegenRust.py')
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 75de595694c..481a431ff73 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -5280,17 +5280,23 @@ class CGBindingRoot(CGThing): descriptors.extend(config.getDescriptors(webIDLFile=webIDLFile, hasInterfaceObject=False, isCallback=False)) - dictionaries = config.getDictionaries(webIDLFile=webIDLFile) - cgthings = [] + dictionaries = config.getDictionaries(webIDLFile=webIDLFile) mainCallbacks = config.getCallbacks(webIDLFile=webIDLFile) callbackDescriptors = config.getDescriptors(webIDLFile=webIDLFile, isCallback=True) - # Do codegen for all the enums - cgthings = [CGEnum(e) for e in config.getEnums(webIDLFile)] + enums = config.getEnums(webIDLFile) + + if not (descriptors or dictionaries or mainCallbacks or callbackDescriptors or enums): + self.root = None + return + # Do codegen for all the enums. + cgthings = [CGEnum(e) for e in enums] + + # Do codegen for all the dictionaries. cgthings.extend([CGDictionary(d, config.getDescriptorProvider()) for d in dictionaries]) @@ -5310,10 +5316,6 @@ class CGBindingRoot(CGThing): # And make sure we have the right number of newlines at the end curr = CGWrapper(CGList(cgthings, "\n\n"), post="\n\n") - # Wrap all of that in our namespaces. - # curr = CGNamespace.build(['dom'], - # CGWrapper(curr, pre="\n")) - # Add imports curr = CGImports(curr, descriptors + callbackDescriptors, mainCallbacks, [ 'js', @@ -5412,6 +5414,8 @@ class CGBindingRoot(CGThing): self.root = curr def define(self): + if not self.root: + return None return stripTrailingWhitespace(self.root.define()) |