(t iterator)
| 740 | } |
| 741 | |
| 742 | func (s *selfQuery) Select(t iterator) NodeNavigator { |
| 743 | for { |
| 744 | node := s.Input.Select(t) |
| 745 | if node == nil { |
| 746 | return nil |
| 747 | } |
| 748 | |
| 749 | if s.Predicate(node) { |
| 750 | return node |
| 751 | } |
| 752 | } |
| 753 | } |
| 754 | |
| 755 | func (s *selfQuery) Evaluate(t iterator) interface{} { |
| 756 | s.Input.Evaluate(t) |