diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2015-11-11 23:15:15 +0530 |
---|---|---|
committer | bors-servo <lbergstrom+bors@mozilla.com> | 2015-11-11 23:15:15 +0530 |
commit | 12f6ba29a74029fa8c83cc7274181d441e1e52dd (patch) | |
tree | 449ede9784e35351d4445e107854bf27f79afde4 /components/script/dom/bindings/codegen/CodegenRust.py | |
parent | 01ff78b438fe905b02735762d696408b4d073e90 (diff) | |
parent | e33330db4eb9d9187c98139aad732ff86ab9d828 (diff) | |
download | servo-12f6ba29a74029fa8c83cc7274181d441e1e52dd.tar.gz servo-12f6ba29a74029fa8c83cc7274181d441e1e52dd.zip |
Auto merge of #8412 - ecoal95:webidl-sequence-return, r=jdm
Add WebIDL sequence return values
And use it for `WebGLRenderingContext::getSupportedExtensions`.
Part of #544
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8412)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/bindings/codegen/CodegenRust.py')
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 5ac6c455e39..260ef1e9006 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -1295,7 +1295,12 @@ def getRetvalDeclarationForType(returnType, descriptorProvider): if returnType.isObject() or returnType.isSpiderMonkeyInterface(): return CGGeneric("*mut JSObject") if returnType.isSequence(): - raise TypeError("We don't support sequence return values") + inner = returnType.unroll() + result = getRetvalDeclarationForType(inner, descriptorProvider) + result = CGWrapper(result, pre="Vec<", post=">") + if returnType.nullable(): + result = CGWrapper(result, pre="Option<", post=">") + return result if returnType.isDictionary(): nullable = returnType.nullable() dictName = returnType.inner.name if nullable else returnType.name |