(self, node, parent, index)
| 76 | return self.ANCHOR_TEMPLATE % self.last_anchor_id |
| 77 | |
| 78 | def serialize_node(self, node, parent, index): |
| 79 | alias = self.anchors[node] |
| 80 | if node in self.serialized_nodes: |
| 81 | self.emit(AliasEvent(alias)) |
| 82 | else: |
| 83 | self.serialized_nodes[node] = True |
| 84 | self.descend_resolver(parent, index) |
| 85 | if isinstance(node, ScalarNode): |
| 86 | detected_tag = self.resolve(ScalarNode, node.value, (True, False)) |
| 87 | default_tag = self.resolve(ScalarNode, node.value, (False, True)) |
| 88 | implicit = (node.tag == detected_tag), (node.tag == default_tag) |
| 89 | self.emit(ScalarEvent(alias, node.tag, implicit, node.value, |
| 90 | style=node.style)) |
| 91 | elif isinstance(node, SequenceNode): |
| 92 | implicit = (node.tag |
| 93 | == self.resolve(SequenceNode, node.value, True)) |
| 94 | self.emit(SequenceStartEvent(alias, node.tag, implicit, |
| 95 | flow_style=node.flow_style)) |
| 96 | index = 0 |
| 97 | for item in node.value: |
| 98 | self.serialize_node(item, node, index) |
| 99 | index += 1 |
| 100 | self.emit(SequenceEndEvent()) |
| 101 | elif isinstance(node, MappingNode): |
| 102 | implicit = (node.tag |
| 103 | == self.resolve(MappingNode, node.value, True)) |
| 104 | self.emit(MappingStartEvent(alias, node.tag, implicit, |
| 105 | flow_style=node.flow_style)) |
| 106 | for key, value in node.value: |
| 107 | self.serialize_node(key, node, None) |
| 108 | self.serialize_node(value, node, key) |
| 109 | self.emit(MappingEndEvent()) |
| 110 | self.ascend_resolver() |
| 111 |
no test coverage detected