diff options
author | Ms2ger <ms2ger@gmail.com> | 2014-04-06 19:51:12 +0200 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2014-04-06 19:51:12 +0200 |
commit | a52cffebebd3607900200b46ac70f03de7062418 (patch) | |
tree | fd088b923d2a466bc007b03ad879d09f31259d0e /src/components/script/dom/bindings/codegen/CodegenRust.py | |
parent | ccaa46e4a31a76d9f8faffd57c48c83ddbfd9fe5 (diff) | |
download | servo-a52cffebebd3607900200b46ac70f03de7062418.tar.gz servo-a52cffebebd3607900200b46ac70f03de7062418.zip |
Use ToJSValConvertible to convert nullable enums to JSVal.
Diffstat (limited to 'src/components/script/dom/bindings/codegen/CodegenRust.py')
-rw-r--r-- | src/components/script/dom/bindings/codegen/CodegenRust.py | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py index 52e1529f968..6acd0225e25 100644 --- a/src/components/script/dom/bindings/codegen/CodegenRust.py +++ b/src/components/script/dom/bindings/codegen/CodegenRust.py @@ -1089,9 +1089,6 @@ def getWrapTemplateForType(type, descriptorProvider, result, successCode, return (setValue("(%s).to_jsval(cx)" % result), True) if type.isEnum(): - if type.nullable(): - raise TypeError("We don't support nullable enumerated return types " - "yet") return (setValue("(%s).to_jsval(cx)" % result), True) if type.isCallback(): @@ -1188,9 +1185,10 @@ def getRetvalDeclarationForType(returnType, descriptorProvider): result = CGWrapper(result, pre="Option<", post=">") return result if returnType.isEnum(): + result = CGGeneric(returnType.unroll().inner.identifier.name) if returnType.nullable(): - raise TypeError("We don't support nullable enum return values") - return CGGeneric(returnType.inner.identifier.name) + result = CGWrapper(result, pre="Option<", post=">") + return result if returnType.isGeckoInterface(): descriptor = descriptorProvider.getDescriptor( returnType.unroll().inner.identifier.name) |