summaryrefslogtreecommitdiff
path: root/src/buildstream/_yaml.pyx
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildstream/_yaml.pyx')
-rw-r--r--src/buildstream/_yaml.pyx20
1 files changed, 4 insertions, 16 deletions
diff --git a/src/buildstream/_yaml.pyx b/src/buildstream/_yaml.pyx
index a84c05759..9865c3059 100644
--- a/src/buildstream/_yaml.pyx
+++ b/src/buildstream/_yaml.pyx
@@ -1184,14 +1184,8 @@ cdef Node _new_node_from_dict(dict indict, Node ref_node):
cdef str k
for k, v in indict.items():
- vtype = type(v)
- if vtype is dict:
- ret.value[k] = _new_node_from_dict(v, ref_node)
- elif vtype is list:
- ret.value[k] = _new_node_from_list(v, ref_node)
- else:
- ret.value[k] = ScalarNode.__new__(
- ScalarNode, ref_node.file_index, ref_node.line, next_synthetic_counter(), v)
+ ret.value[k] = _create_node_recursive(v, ref_node)
+
return ret
@@ -1201,14 +1195,8 @@ cdef Node _new_node_from_list(list inlist, Node ref_node):
SequenceNode, ref_node.file_index, ref_node.line, next_synthetic_counter(), [])
for v in inlist:
- vtype = type(v)
- if vtype is dict:
- ret.value.append(_new_node_from_dict(v, ref_node))
- elif vtype is list:
- ret.value.append(_new_node_from_list(v, ref_node))
- else:
- ret.value.append(
- ScalarNode.__new__(ScalarNode, ref_node.file_index, ref_node.line, next_synthetic_counter(), v))
+ ret.value.append(_create_node_recursive(v, ref_node))
+
return ret