mirror of
https://github.com/servo/servo.git
synced 2025-08-04 13:10:20 +01:00
Simplify the code flow in the conversion to primitive types so that default values are handled together.
This commit is contained in:
parent
922d191948
commit
9fba4bcfba
1 changed files with 21 additions and 24 deletions
|
@ -1249,23 +1249,20 @@ for (uint32_t i = 0; i < length; ++i) {
|
||||||
"}" % (successVal, failureCode))
|
"}" % (successVal, failureCode))
|
||||||
|
|
||||||
if type.nullable():
|
if type.nullable():
|
||||||
if defaultValue is not None and isinstance(defaultValue, IDLNullValue):
|
declType = CGGeneric("Option<" + typeName + ">")
|
||||||
|
else:
|
||||||
|
declType = CGGeneric(typeName)
|
||||||
|
|
||||||
|
if defaultValue is not None:
|
||||||
|
if isinstance(defaultValue, IDLNullValue):
|
||||||
|
assert type.nullable()
|
||||||
template = CGWrapper(CGIndenter(CGGeneric(template)),
|
template = CGWrapper(CGIndenter(CGGeneric(template)),
|
||||||
pre="if ${haveValue} {\n",
|
pre="if ${haveValue} {\n",
|
||||||
post=("\n"
|
post=("\n"
|
||||||
"} else {\n"
|
"} else {\n"
|
||||||
" ${declName} = None;\n"
|
" ${declName} = None;\n"
|
||||||
"}")).define()
|
"}")).define()
|
||||||
|
|
||||||
declType = CGGeneric("Option<" + typeName + ">")
|
|
||||||
else:
|
else:
|
||||||
assert(defaultValue is None or
|
|
||||||
not isinstance(defaultValue, IDLNullValue))
|
|
||||||
declType = CGGeneric(typeName)
|
|
||||||
|
|
||||||
if (defaultValue is not None and
|
|
||||||
# We already handled IDLNullValue, so just deal with the other ones
|
|
||||||
not isinstance(defaultValue, IDLNullValue)):
|
|
||||||
tag = defaultValue.type.tag()
|
tag = defaultValue.type.tag()
|
||||||
if tag in numericTags:
|
if tag in numericTags:
|
||||||
defaultStr = defaultValue.value
|
defaultStr = defaultValue.value
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue