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

◆ Advance()

override XPathNavigator MS.Internal.Xml.XPath.CacheChildrenQuery.Advance ( )
inline

Definition at line 42 of file CacheChildrenQuery.cs.

43 {
44 do
45 {
46 IL_0000:
47 if (_needInput)
48 {
49 if (_elementStk.Count == 0)
50 {
52 if (currentNode == null)
53 {
54 return null;
55 }
57 {
58 goto IL_0000;
59 }
60 position = 0;
61 }
62 else
63 {
66 if (!DecideNextNode())
67 {
68 goto IL_0000;
69 }
70 }
71 _needInput = false;
72 }
73 else if (!currentNode.MoveToNext() || !DecideNextNode())
74 {
75 _needInput = true;
76 goto IL_0000;
77 }
78 }
79 while (!matches(currentNode));
80 position++;
81 return currentNode;
82 }
virtual bool matches(XPathNavigator e)
readonly ClonableStack< int > _positionStk
readonly ClonableStack< XPathNavigator > _elementStk

References MS.Internal.Xml.XPath.CacheChildrenQuery._elementStk, MS.Internal.Xml.XPath.CacheChildrenQuery._needInput, MS.Internal.Xml.XPath.CacheChildrenQuery._positionStk, MS.Internal.Xml.XPath.BaseAxisQuery.currentNode, MS.Internal.Xml.XPath.CacheChildrenQuery.DecideNextNode(), System.Xml.Dictionary, MS.Internal.Xml.XPath.CacheChildrenQuery.GetNextInput(), MS.Internal.Xml.XPath.BaseAxisQuery.matches(), System.Xml.XPath.XPathNavigator.MoveToFirstChild(), System.Xml.XPath.XPathNavigator.MoveToNext(), MS.Internal.Xml.XPath.ClonableStack< T >.Pop(), and MS.Internal.Xml.XPath.BaseAxisQuery.position.