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 -->
This commit is contained in:
bors-servo 2015-12-16 21:06:37 +05:30
commit d1ea209f0f
2 changed files with 16 additions and 10 deletions

View file

@ -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())