Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ParentQuery.cs
Go to the documentation of this file.
2
4
5internal sealed class ParentQuery : CacheAxisQuery
6{
7 public ParentQuery(Query qyInput, string Name, string Prefix, XPathNodeType Type)
8 : base(qyInput, Name, Prefix, Type)
9 {
10 }
11
12 private ParentQuery(ParentQuery other)
13 : base(other)
14 {
15 }
16
17 public override object Evaluate(XPathNodeIterator context)
18 {
19 base.Evaluate(context);
20 XPathNavigator xPathNavigator;
21 while ((xPathNavigator = qyInput.Advance()) != null)
22 {
23 xPathNavigator = xPathNavigator.Clone();
24 if (xPathNavigator.MoveToParent() && matches(xPathNavigator))
25 {
26 Query.Insert(outputBuffer, xPathNavigator);
27 }
28 }
29 return this;
30 }
31
32 public override XPathNodeIterator Clone()
33 {
34 return new ParentQuery(this);
35 }
36}
virtual bool matches(XPathNavigator e)
List< XPathNavigator > outputBuffer
override object Evaluate(XPathNodeIterator context)
override XPathNodeIterator Clone()
ParentQuery(Query qyInput, string Name, string Prefix, XPathNodeType Type)
Definition ParentQuery.cs:7
XPathNavigator Advance()
static bool Insert(List< XPathNavigator > buffer, XPathNavigator nav)
Definition Query.cs:87