Lines Matching refs:self
13 def __init__(self):
14 self.anchors = {}
16 def check_node(self):
18 if self.check_event(StreamStartEvent):
19 self.get_event()
22 return not self.check_event(StreamEndEvent)
24 def get_node(self):
26 if not self.check_event(StreamEndEvent):
27 return self.compose_document()
29 def get_single_node(self):
31 self.get_event()
35 if not self.check_event(StreamEndEvent):
36 document = self.compose_document()
39 if not self.check_event(StreamEndEvent):
40 event = self.get_event()
46 self.get_event()
50 def compose_document(self):
52 self.get_event()
55 node = self.compose_node(None, None)
58 self.get_event()
60 self.anchors = {}
63 def compose_node(self, parent, index):
64 if self.check_event(AliasEvent):
65 event = self.get_event()
67 if anchor not in self.anchors:
70 return self.anchors[anchor]
71 event = self.peek_event()
74 if anchor in self.anchors:
76 % anchor, self.anchors[anchor].start_mark,
78 self.descend_resolver(parent, index)
79 if self.check_event(ScalarEvent):
80 node = self.compose_scalar_node(anchor)
81 elif self.check_event(SequenceStartEvent):
82 node = self.compose_sequence_node(anchor)
83 elif self.check_event(MappingStartEvent):
84 node = self.compose_mapping_node(anchor)
85 self.ascend_resolver()
88 def compose_scalar_node(self, anchor):
89 event = self.get_event()
92 tag = self.resolve(ScalarNode, event.value, event.implicit)
96 self.anchors[anchor] = node
99 def compose_sequence_node(self, anchor):
100 start_event = self.get_event()
103 tag = self.resolve(SequenceNode, None, start_event.implicit)
108 self.anchors[anchor] = node
110 while not self.check_event(SequenceEndEvent):
111 node.value.append(self.compose_node(node, index))
113 end_event = self.get_event()
117 def compose_mapping_node(self, anchor):
118 start_event = self.get_event()
121 tag = self.resolve(MappingNode, None, start_event.implicit)
126 self.anchors[anchor] = node
127 while not self.check_event(MappingEndEvent):
128 #key_event = self.peek_event()
129 item_key = self.compose_node(node, None)
133 item_value = self.compose_node(node, item_key)
136 end_event = self.get_event()