mirror of
https://github.com/servo/servo.git
synced 2025-06-13 02:44:29 +00:00
Handle unsupported types better in getUnionTypeTemplateVars.
This commit is contained in:
parent
d1d2074d43
commit
e942f50e1b
1 changed files with 1 additions and 13 deletions
|
@ -3989,13 +3989,6 @@ class CGConstant(CGThing):
|
|||
|
||||
|
||||
def getUnionTypeTemplateVars(type, descriptorProvider):
|
||||
# For dictionaries and sequences we need to pass None as the failureCode
|
||||
# for getJSToNativeConversionInfo.
|
||||
# Also, for dictionaries we would need to handle conversion of
|
||||
# null/undefined to the dictionary correctly.
|
||||
if type.isDictionary():
|
||||
raise TypeError("Can't handle dictionaries in unions")
|
||||
|
||||
if type.isGeckoInterface():
|
||||
name = type.inner.identifier.name
|
||||
typeName = descriptorProvider.getDescriptor(name).returnType
|
||||
|
@ -4006,10 +3999,6 @@ def getUnionTypeTemplateVars(type, descriptorProvider):
|
|||
name = type.name
|
||||
inner = getUnionTypeTemplateVars(innerSequenceType(type), descriptorProvider)
|
||||
typeName = "Vec<" + inner["typeName"] + ">"
|
||||
elif type.isArray():
|
||||
name = str(type)
|
||||
# XXXjdm dunno about typeName here
|
||||
typeName = "/*" + type.name + "*/"
|
||||
elif type.isByteString():
|
||||
name = type.name
|
||||
typeName = "ByteString"
|
||||
|
@ -4023,8 +4012,7 @@ def getUnionTypeTemplateVars(type, descriptorProvider):
|
|||
name = type.name
|
||||
typeName = builtinNames[type.tag()]
|
||||
else:
|
||||
name = type.name
|
||||
typeName = "/*" + type.name + "*/"
|
||||
raise TypeError("Can't handle %s in unions yet" % type)
|
||||
|
||||
info = getJSToNativeConversionInfo(
|
||||
type, descriptorProvider, failureCode="return Ok(None);",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue