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

◆ ReadQualifiedName()

void System.Xml.XmlUTF8TextReader.ReadQualifiedName ( PrefixHandle prefix,
StringHandle localName )
inlineprivate

Definition at line 223 of file XmlUTF8TextReader.cs.

224 {
225 int i;
226 int offsetMax;
227 byte[] buffer = base.BufferReader.GetBuffer(out i, out offsetMax);
228 int num = 0;
229 int num2 = 0;
230 int num3 = 0;
231 int num4 = i;
232 if (i < offsetMax)
233 {
234 num = buffer[i];
235 num3 = num;
236 if ((s_charType[num] & 1) == 0)
237 {
238 num2 |= 0x80;
239 }
240 num2 |= num;
241 for (i++; i < offsetMax; i++)
242 {
243 num = buffer[i];
244 if ((s_charType[num] & 2) == 0)
245 {
246 break;
247 }
248 num2 |= num;
249 }
250 }
251 else
252 {
253 num2 |= 0x80;
254 num = 0;
255 }
256 if (num == 58)
257 {
258 int num5 = i - num4;
259 if (num5 == 1 && num3 >= 97 && num3 <= 122)
260 {
261 prefix.SetValue(PrefixHandle.GetAlphaPrefix(num3 - 97));
262 }
263 else
264 {
265 prefix.SetValue(num4, num5);
266 }
267 i++;
268 int num6 = i;
269 if (i < offsetMax)
270 {
271 num = buffer[i];
272 if ((s_charType[num] & 1) == 0)
273 {
274 num2 |= 0x80;
275 }
276 num2 |= num;
277 for (i++; i < offsetMax; i++)
278 {
279 num = buffer[i];
280 if ((s_charType[num] & 2) == 0)
281 {
282 break;
283 }
284 num2 |= num;
285 }
286 }
287 else
288 {
289 num2 |= 0x80;
290 num = 0;
291 }
292 localName.SetValue(num6, i - num6);
293 if (num2 >= 128)
294 {
295 VerifyNCName(prefix.GetString());
296 VerifyNCName(localName.GetString());
297 }
298 }
299 else
300 {
301 prefix.SetValue(PrefixHandleType.Empty);
302 localName.SetValue(num4, i - num4);
303 if (num2 >= 128)
304 {
305 VerifyNCName(localName.GetString());
306 }
307 }
308 base.BufferReader.Advance(i - num4);
309 }
static readonly byte[] s_charType

References System.buffer, System.Xml.Dictionary, System.Xml.PrefixHandle.GetAlphaPrefix(), System.Xml.StringHandle.GetString(), System.prefix, System.Xml.XmlUTF8TextReader.s_charType, System.Xml.StringHandle.SetValue(), and System.Xml.XmlUTF8TextReader.VerifyNCName().

Referenced by System.Xml.XmlUTF8TextReader.ReadAttributes(), System.Xml.XmlUTF8TextReader.ReadEndElement(), and System.Xml.XmlUTF8TextReader.ReadStartElement().