Home | History | Annotate | Download | only in compiler

Lines Matching full:traits

23 // by specifying custom traits.
34 // Control Pre(Traits::Node* current);
35 // Control Post(Traits::Node* current);
36 // void PreEdge(Traits::Node* from, int index, Traits::Node* to);
37 // void PostEdge(Traits::Node* from, int index, Traits::Node* to);
39 template <class Visitor, class Traits, class RootIterator>
43 typedef typename Traits::Node Node;
44 typedef typename Traits::Iterator Iterator;
48 BoolVector visited(Traits::max_id(graph), false, zone);
54 DCHECK(id < Traits::max_id(graph)); // Must be a valid id.
61 Iterator begin(visit ? Traits::begin(current) : Traits::end(current));
62 Iterator end(Traits::end(current));
79 post_order_node = Traits::from(stack.top().first);
82 visitor->PreEdge(Traits::from(top.first), top.first.edge().index(),
83 Traits::to(top.first));
84 current = Traits::to(top.first);
88 visitor->PostEdge(Traits::from(top.first), top.first.edge().index(),
89 Traits::to(top.first));
95 template <class Visitor, class Traits>
97 typename Traits::Node* current, Visitor* visitor) {
98 typename Traits::Node* array[] = {current};
99 Visit<Visitor, Traits>(graph, zone, &array[0], &array[1], visitor);