Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ MoveNext()

IteratorResult System.Xml.Xsl.Runtime.XPathFollowingMergeIterator.MoveNext ( XPathNavigator input)
inline

Definition at line 34 of file XPathFollowingMergeIterator.cs.

35 {
36 switch (_state)
37 {
38 case IteratorState.NeedCandidateCurrent:
39 if (input == null)
40 {
41 return IteratorResult.NoMoreNodes;
42 }
43 _navCurrent = XmlQueryRuntime.SyncToNavigator(_navCurrent, input);
44 _state = IteratorState.HaveCandidateCurrent;
45 return IteratorResult.NeedInputNode;
46 case IteratorState.HaveCandidateCurrent:
47 if (input == null)
48 {
49 _state = IteratorState.HaveCurrentNoNext;
50 return MoveFirst();
51 }
53 {
54 goto case IteratorState.NeedCandidateCurrent;
55 }
56 _state = IteratorState.HaveCurrentNeedNext;
57 goto case IteratorState.HaveCurrentNeedNext;
58 case IteratorState.HaveCurrentNeedNext:
59 if (input == null)
60 {
61 _state = IteratorState.HaveCurrentNoNext;
62 return MoveFirst();
63 }
65 {
66 return IteratorResult.NeedInputNode;
67 }
68 _navNext = XmlQueryRuntime.SyncToNavigator(_navNext, input);
69 _state = IteratorState.HaveCurrentHaveNext;
70 return MoveFirst();
71 default:
73 {
74 return MoveFailed();
75 }
76 return IteratorResult.HaveCurrentNode;
77 }
78 }
virtual XmlNodeOrder ComparePosition(XPathNavigator? nav)
virtual bool IsDescendant([NotNullWhen(true)] XPathNavigator? nav)
bool MoveToFollowing(XPathNavigator navigator, XPathNavigator navigatorEnd)

References System.Xml.Xsl.Runtime.XPathFollowingMergeIterator._filter, System.Xml.Xsl.Runtime.XPathFollowingMergeIterator._navCurrent, System.Xml.Xsl.Runtime.XPathFollowingMergeIterator._navNext, System.Xml.Xsl.Runtime.XPathFollowingMergeIterator._state, System.Xml.XPath.XPathNavigator.ComparePosition(), System.input, System.Xml.XPath.XPathNavigator.IsDescendant(), System.Xml.Xsl.Runtime.XPathFollowingMergeIterator.MoveFailed(), System.Xml.Xsl.Runtime.XPathFollowingMergeIterator.MoveFirst(), System.Xml.Xsl.Runtime.XmlNavigatorFilter.MoveToFollowing(), and System.Xml.Xsl.Runtime.XmlQueryRuntime.SyncToNavigator().