diff options
Diffstat (limited to 'src/buildstream/_yaml.pyx')
-rw-r--r-- | src/buildstream/_yaml.pyx | 20 |
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 |