aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/bindings/codegen/CodegenRust.py
diff options
context:
space:
mode:
authorMs2ger <ms2ger@gmail.com>2014-04-06 19:51:12 +0200
committerMs2ger <ms2ger@gmail.com>2014-04-06 19:51:12 +0200
commita52cffebebd3607900200b46ac70f03de7062418 (patch)
treefd088b923d2a466bc007b03ad879d09f31259d0e /src/components/script/dom/bindings/codegen/CodegenRust.py
parentccaa46e4a31a76d9f8faffd57c48c83ddbfd9fe5 (diff)
downloadservo-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.py8
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)