diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2015-12-16 21:06:37 +0530 |
---|---|---|
committer | bors-servo <lbergstrom+bors@mozilla.com> | 2015-12-16 21:06:37 +0530 |
commit | d1ea209f0fb4951ee7cd773e448ee65968968d38 (patch) | |
tree | e878862f0dfae8d2e50b396f579f2bd60da8ec8d /components/script/dom/bindings/codegen/CodegenRust.py | |
parent | 54a608b65e7ef117488640d5853390323e8f448f (diff) | |
parent | 2522cfe53942421892aa2c4741e7e9237db7c828 (diff) | |
download | servo-d1ea209f0fb4951ee7cd773e448ee65968968d38.tar.gz servo-d1ea209f0fb4951ee7cd773e448ee65968968d38.zip |
Auto merge of #8996 - nox:rm-empty-modules, r=frewsxcv
Do not create modules from files with nothing to codegen (fixes #8711)
Fixes #8711.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8996)
<!-- Reviewable:end -->
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 c84be59ad7c..c4bd53c42c1 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -5258,17 +5258,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]) @@ -5288,10 +5294,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', @@ -5390,6 +5392,8 @@ class CGBindingRoot(CGThing): self.root = curr def define(self): + if not self.root: + return None return stripTrailingWhitespace(self.root.define()) |