diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-10-07 06:20:20 -0600 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-10-07 06:20:20 -0600 |
commit | 745635a706223df3d0f6db927cf1f547d948be87 (patch) | |
tree | 5917dfa9e9e8ff33129037a3c586d9c5b7227a7a /components/script/dom | |
parent | 9a12c2c06199bc0a11982949b0cb43ee8500c001 (diff) | |
parent | 6b160c6a297073f6db7cec73383a593e6cd31b0a (diff) | |
download | servo-745635a706223df3d0f6db927cf1f547d948be87.tar.gz servo-745635a706223df3d0f6db927cf1f547d948be87.zip |
Auto merge of #7903 - Ms2ger:codegen-docs, r=Manishearth
Add support for documenting CGAbstractMethods.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7903)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 49c0cf52cbc..b154bbdcf5a 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -2064,10 +2064,12 @@ class CGAbstractMethod(CGThing): If templateArgs is not None it should be a list of strings containing template arguments, and the function will be templatized using those arguments. + + docs is None or documentation for the method in a string. """ def __init__(self, descriptor, name, returnType, args, inline=False, alwaysInline=False, extern=False, pub=False, templateArgs=None, - unsafe=False): + unsafe=False, docs=None): CGThing.__init__(self) self.descriptor = descriptor self.name = name @@ -2078,6 +2080,7 @@ class CGAbstractMethod(CGThing): self.templateArgs = templateArgs self.pub = pub self.unsafe = unsafe + self.docs = docs def _argstring(self): return ', '.join([a.declare() for a in self.args]) @@ -2087,6 +2090,13 @@ class CGAbstractMethod(CGThing): return '' return '<%s>\n' % ', '.join(self.templateArgs) + def _docs(self): + if self.docs is None: + return '' + + lines = self.docs.splitlines() + return ''.join('/// %s\n' % line for line in lines) + def _decorators(self): decorators = [] if self.alwaysInline: @@ -2118,8 +2128,9 @@ class CGAbstractMethod(CGThing): post=self.definition_epilogue()).define() def definition_prologue(self): - return "%sfn %s%s(%s)%s {\n" % (self._decorators(), self.name, self._template(), - self._argstring(), self._returnType()) + return "%s%sfn %s%s(%s)%s {\n" % (self._docs(), self._decorators(), + self.name, self._template(), + self._argstring(), self._returnType()) def definition_epilogue(self): return "\n}\n" @@ -4971,8 +4982,9 @@ class CGRegisterProtos(CGAbstractMethod): class CGRegisterProxyHandlersMethod(CGAbstractMethod): def __init__(self, descriptors): + docs = "Create the global vtables used by the generated DOM bindings to implement JS proxies." CGAbstractMethod.__init__(self, None, 'RegisterProxyHandlers', 'void', [], - unsafe=True, pub=True) + unsafe=True, pub=True, docs=docs) self.descriptors = descriptors def definition_body(self): |