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

◆ ProcessResult()

object MS.Internal.Xml.XPath.ExtensionQuery.ProcessResult ( object value)
inlineprotectedinherited

Definition at line 107 of file ExtensionQuery.cs.

108 {
109 if (value is string)
110 {
111 return value;
112 }
113 if (value is double)
114 {
115 return value;
116 }
117 if (value is bool)
118 {
119 return value;
120 }
121 if (value is XPathNavigator)
122 {
123 return value;
124 }
125 if (value is int)
126 {
127 return (double)(int)value;
128 }
129 if (value == null)
130 {
131 _queryIterator = XPathEmptyIterator.Instance;
132 return this;
133 }
134 if (value is ResetableIterator resetableIterator)
135 {
136 _queryIterator = (ResetableIterator)resetableIterator.Clone();
137 return this;
138 }
139 if (value is XPathNodeIterator nodeIterator)
140 {
141 _queryIterator = new XPathArrayIterator(nodeIterator);
142 return this;
143 }
144 if (value is IXPathNavigable iXPathNavigable)
145 {
146 return iXPathNavigable.CreateNavigator();
147 }
148 if (value is short)
149 {
150 return (double)(short)value;
151 }
152 if (value is long)
153 {
154 return (double)(long)value;
155 }
156 if (value is uint)
157 {
158 return (double)(uint)value;
159 }
160 if (value is ushort)
161 {
162 return (double)(int)(ushort)value;
163 }
164 if (value is ulong)
165 {
166 return (double)(ulong)value;
167 }
168 if (value is float)
169 {
170 return (double)(float)value;
171 }
172 if (value is decimal)
173 {
174 return (double)(decimal)value;
175 }
176 return value.ToString();
177 }

References MS.Internal.Xml.XPath.ResetableIterator.ResetableIterator(), MS.Internal.Xml.XPath.ExtensionQuery._queryIterator, System.Xml.XPath.XPathNodeIterator.Clone(), MS.Internal.Xml.XPath.XPathEmptyIterator.Instance, and System.value.

Referenced by MS.Internal.Xml.XPath.FunctionQuery.Evaluate(), and MS.Internal.Xml.XPath.VariableQuery.Evaluate().