aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/codegen/CodegenRust.py
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2015-12-16 21:06:37 +0530
committerbors-servo <lbergstrom+bors@mozilla.com>2015-12-16 21:06:37 +0530
commitd1ea209f0fb4951ee7cd773e448ee65968968d38 (patch)
treee878862f0dfae8d2e50b396f579f2bd60da8ec8d /components/script/dom/bindings/codegen/CodegenRust.py
parent54a608b65e7ef117488640d5853390323e8f448f (diff)
parent2522cfe53942421892aa2c4741e7e9237db7c828 (diff)
downloadservo-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.py20
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())