terraria-cpp2il-methodrecon v1.4.4.9
Terraria mobile dump, with reconstructed method body. Dump with CallAnalysis: https://infinitynichto.github.io/terraria-cpp2il
Loading...
Searching...
No Matches
XmlUtf8RawTextWriter.cs
Go to the documentation of this file.
1using System;
3using System.IO;
5using System.Text;
7
8namespace System.Xml
9{
10 // Token: 0x0200004C RID: 76
12 {
13 // Token: 0x0600037A RID: 890 RVA: 0x0000DE68 File Offset: 0x0000C068
15 {
17 this.xmlCharType = instance;
18 this.bufLen = 6144;
19 base..ctor();
20 bool flag = settings.useAsync;
21 this.useAsync = flag;
24 bool omitXmlDecl = settings.omitXmlDecl;
25 this.omitXmlDeclaration = omitXmlDecl;
26 string text = settings.newLineChars;
28 bool flag2 = settings.checkCharacters;
30 bool flag3 = settings.closeOutput;
36 bool flag4 = settings.mergeCDataSections;
38 if (newLineHandling == NewLineHandling.Replace && flag2)
39 {
40 long num = 0L;
41 this.ValidateContentChars(text, "NewLineChars", num != 0L);
42 return;
43 }
44 }
45
46 // Token: 0x0600037B RID: 891 RVA: 0x0000DF3C File Offset: 0x0000C13C
48 {
50 Encoding encoding = settings.encoding;
52 if (settings.useAsync)
53 {
54 int num = 1;
55 this.bufLen = num;
56 return;
57 }
58 int num2 = this.bufLen;
59 if (stream == null && this.encoding.dataItem != null)
60 {
61 byte[] array = this.bufBytes;
62 int num3 = this.bufPos;
64 }
65 if (settings.autoXmlDecl)
66 {
68 int num4 = 1;
69 this.autoXmlDeclaration = num4 != 0;
70 }
71 }
72
73 // Token: 0x0600037C RID: 892 RVA: 0x0000DFC0 File Offset: 0x0000C1C0
75 {
77 {
78 return;
79 }
80 this.RawText("<?xml version=\"");
81 this.RawText("1.0");
82 if (this.encoding != null)
83 {
84 this.RawText("\" encoding=\"");
86 }
87 if (standalone != XmlStandalone.Omit)
88 {
89 this.RawText("\" standalone=\"");
90 this.RawText("\" standalone=\"");
91 }
92 this.RawText("\"?>");
93 }
94
95 // Token: 0x0600037D RID: 893 RVA: 0x0000E034 File Offset: 0x0000C234
96 internal override void WriteXmlDeclaration(string xmldecl)
97 {
99 {
100 return;
101 }
102 }
103
104 // Token: 0x0600037E RID: 894 RVA: 0x0000E054 File Offset: 0x0000C254
105 public override void WriteDocType(string name, string pubid, string sysid, string subset)
106 {
107 this.RawText("<!DOCTYPE ");
108 this.RawText(name);
109 if (pubid != null)
110 {
111 this.RawText(" PUBLIC \"");
112 this.RawText(pubid);
113 this.RawText("\" \"");
114 if (sysid == null)
115 {
116 return;
117 }
118 }
119 else
120 {
121 if (sysid == null)
122 {
123 return;
124 }
125 this.RawText(" SYSTEM \"");
126 }
127 this.RawText(sysid);
128 byte[] array = this.bufBytes;
129 if (subset != null)
130 {
131 byte[] array2 = this.bufBytes;
132 this.RawText(subset);
133 byte[] array3 = this.bufBytes;
134 }
135 byte[] array4 = this.bufBytes;
136 }
137
138 // Token: 0x0600037F RID: 895 RVA: 0x0000E0E8 File Offset: 0x0000C2E8
139 public override void WriteStartElement(string prefix, string localName, string ns)
140 {
141 byte[] array = this.bufBytes;
142 if (prefix != null && prefix._stringLength != 0)
143 {
144 this.RawText(prefix);
145 byte[] array2 = this.bufBytes;
146 }
147 this.RawText(localName);
148 int num = this.bufPos;
149 this.attrEndPos = num;
150 }
151
152 // Token: 0x06000380 RID: 896 RVA: 0x0000E130 File Offset: 0x0000C330
153 internal override void StartElementContent()
154 {
155 byte[] array = this.bufBytes;
156 int num = this.bufPos;
157 this.contentPos = num;
158 }
159
160 // Token: 0x06000381 RID: 897 RVA: 0x0000E154 File Offset: 0x0000C354
161 internal override void WriteEndElement(string prefix, string localName, string ns)
162 {
163 int num = this.contentPos;
164 byte[] array = this.bufBytes;
165 this.bufPos = num;
166 byte[] array2 = this.bufBytes;
167 }
168
169 // Token: 0x06000382 RID: 898 RVA: 0x0000E1F0 File Offset: 0x0000C3F0
170 internal override void WriteFullEndElement(string prefix, string localName, string ns)
171 {
172 byte[] array = this.bufBytes;
173 byte[] array2 = this.bufBytes;
174 if (prefix != null && prefix._stringLength != 0)
175 {
176 this.RawText(prefix);
177 byte[] array3 = this.bufBytes;
178 }
179 this.RawText(localName);
180 byte[] array4 = this.bufBytes;
181 }
182
183 // Token: 0x06000383 RID: 899 RVA: 0x0000E244 File Offset: 0x0000C444
184 public override void WriteStartAttribute(string prefix, string localName, string ns)
185 {
186 int num = this.bufPos;
187 byte[] array = this.bufBytes;
188 byte[] array2;
189 if (prefix != null)
190 {
191 int stringLength = prefix._stringLength;
192 this.RawText(prefix);
193 array2 = this.bufBytes;
194 }
195 this.RawText(localName);
196 byte[] array3 = this.bufBytes;
198 byte[] array4 = this.bufBytes;
200 int num2 = 1;
201 this.inAttributeValue = num2 != 0;
202 }
203
204 // Token: 0x06000384 RID: 900 RVA: 0x0000E2B4 File Offset: 0x0000C4B4
205 public override void WriteEndAttribute()
206 {
207 byte[] array = this.bufBytes;
208 int num = this.bufPos;
209 this.attrEndPos = num;
210 }
211
212 // Token: 0x06000385 RID: 901 RVA: 0x0000E2D8 File Offset: 0x0000C4D8
213 internal override void WriteNamespaceDeclaration(string prefix, string namespaceName)
214 {
215 }
216
217 // Token: 0x170000C1 RID: 193
218 // (get) Token: 0x06000386 RID: 902 RVA: 0x0000E2E8 File Offset: 0x0000C4E8
220 {
221 get
222 {
223 return true;
224 }
225 }
226
227 // Token: 0x06000387 RID: 903 RVA: 0x0000E2F8 File Offset: 0x0000C4F8
228 internal override void WriteStartNamespaceDeclaration(string prefix)
229 {
230 if (prefix._stringLength != 0)
231 {
232 this.RawText(" xmlns:");
233 this.RawText(prefix);
234 byte[] array = this.bufBytes;
235 byte[] array2 = this.bufBytes;
236 return;
237 }
238 this.RawText(" xmlns=\"");
239 int num = 1;
240 this.inAttributeValue = num != 0;
241 }
242
243 // Token: 0x06000388 RID: 904 RVA: 0x0000E344 File Offset: 0x0000C544
244 internal override void WriteEndNamespaceDeclaration()
245 {
246 byte[] array = this.bufBytes;
247 int num = this.bufPos;
248 this.attrEndPos = num;
249 }
250
251 // Token: 0x06000389 RID: 905 RVA: 0x0000E368 File Offset: 0x0000C568
252 public override void WriteCData(string text)
253 {
254 if (this.mergeCDataSections)
255 {
256 int num = this.cdataPos;
257 return;
258 }
259 byte[] array = this.bufBytes;
260 int num2 = 60;
261 byte[] array2 = this.bufBytes;
263 byte[] array3 = this.bufBytes;
265 byte[] array4 = this.bufBytes;
266 byte[] array5 = this.bufBytes;
267 byte[] array6 = this.bufBytes;
268 int num3 = 65;
269 byte[] array7 = this.bufBytes;
270 int num4 = 84;
272 byte[] array8 = this.bufBytes;
274 byte[] array9 = this.bufBytes;
276 this.WriteCDataSection(text);
277 byte[] array10 = this.bufBytes;
279 byte[] array11 = this.bufBytes;
281 byte[] array12 = this.bufBytes;
283 int num5 = this.bufPos;
286 }
287
288 // Token: 0x0600038A RID: 906 RVA: 0x0000E458 File Offset: 0x0000C658
289 public override void WriteComment(string text)
290 {
291 byte[] array = this.bufBytes;
292 byte[] array2 = this.bufBytes;
293 int num = 33;
294 int num2 = 45;
295 byte[] array3 = this.bufBytes;
296 this.bufPos = num;
297 byte[] array4 = this.bufBytes;
298 this.bufPos = num;
299 this.WriteCommentOrPi(text, num2);
300 byte[] array5 = this.bufBytes;
301 this.bufPos = num;
302 byte[] array6 = this.bufBytes;
303 this.bufPos = num;
304 byte[] array7 = this.bufBytes;
305 }
306
307 // Token: 0x0600038B RID: 907 RVA: 0x0000E4C8 File Offset: 0x0000C6C8
308 public override void WriteProcessingInstruction(string name, string text)
309 {
310 byte[] array = this.bufBytes;
311 byte[] array2 = this.bufBytes;
312 this.RawText(name);
313 int stringLength = text._stringLength;
314 byte[] array3 = this.bufBytes;
315 int num = 32;
316 int num2 = 63;
317 this.WriteCommentOrPi(text, num2);
318 byte[] array4 = this.bufBytes;
319 this.bufPos = num;
320 byte[] array5 = this.bufBytes;
321 }
322
323 // Token: 0x0600038C RID: 908 RVA: 0x0000E530 File Offset: 0x0000C730
324 public override void WriteEntityRef(string name)
325 {
326 byte[] array = this.bufBytes;
327 this.RawText(name);
328 byte[] array2 = this.bufBytes;
329 int num = this.bufPos;
330 int num2 = this.bufLen;
331 int num3 = this.bufPos;
333 }
334
335 // Token: 0x0600038D RID: 909 RVA: 0x0000E570 File Offset: 0x0000C770
336 public override void WriteCharEntity(char ch)
337 {
339 if (this.checkCharacters)
340 {
341 }
342 byte[] array = this.bufBytes;
343 byte[] array2 = this.bufBytes;
344 byte[] array3 = this.bufBytes;
346 string text;
347 this.RawText(text);
348 byte[] array4 = this.bufBytes;
349 int num = this.bufPos;
350 int num2 = this.bufLen;
351 int num3 = this.bufPos;
353 }
354
355 // Token: 0x0600038E RID: 910 RVA: 0x0000E5FC File Offset: 0x0000C7FC
356 public override void WriteWhitespace(string ws)
357 {
358 if (ws != null)
359 {
361 return;
362 }
363 if (this.inAttributeValue)
364 {
365 return;
366 }
367 }
368
369 // Token: 0x0600038F RID: 911 RVA: 0x0000E620 File Offset: 0x0000C820
370 public override void WriteString(string text)
371 {
372 if (text != null)
373 {
375 return;
376 }
377 if (this.inAttributeValue)
378 {
379 return;
380 }
381 }
382
383 // Token: 0x06000390 RID: 912 RVA: 0x0000E644 File Offset: 0x0000C844
384 public override void WriteSurrogateCharEntity(char lowChar, char highChar)
385 {
386 byte[] array = this.bufBytes;
387 byte[] array2 = this.bufBytes;
388 byte[] array3 = this.bufBytes;
390 string text;
391 this.RawText(text);
392 byte[] array4 = this.bufBytes;
393 int num = this.bufPos;
394 this.textPos = num;
395 }
396
397 // Token: 0x06000391 RID: 913 RVA: 0x0000E6A0 File Offset: 0x0000C8A0
398 public override void WriteChars(char[] buffer, int index, int count)
399 {
400 if (this.inAttributeValue)
401 {
402 return;
403 }
404 }
405
406 // Token: 0x06000392 RID: 914 RVA: 0x0000E6B8 File Offset: 0x0000C8B8
407 public override void WriteRaw(char[] buffer, int index, int count)
408 {
409 int num = this.bufPos;
410 this.textPos = num;
411 }
412
413 // Token: 0x06000393 RID: 915 RVA: 0x0000E6D4 File Offset: 0x0000C8D4
414 public override void WriteRaw(string data)
415 {
416 if (data != null)
417 {
419 return;
420 }
421 int num = this.bufPos;
422 this.textPos = num;
423 }
424
425 // Token: 0x06000394 RID: 916 RVA: 0x0000E6FC File Offset: 0x0000C8FC
426 public override void Close()
427 {
428 }
429
430 // Token: 0x06000395 RID: 917 RVA: 0x0000E70C File Offset: 0x0000C90C
431 public override void Flush()
432 {
433 if (this.stream != null)
434 {
435 return;
436 }
437 }
438
439 // Token: 0x06000396 RID: 918 RVA: 0x0000E724 File Offset: 0x0000C924
440 protected virtual void FlushBuffer()
441 {
442 if (!this.writeToNull)
443 {
444 byte[] array = this.bufBytes;
445 Stream stream = this.stream;
446 int num = this.bufPos;
447 }
448 }
449
450 // Token: 0x06000397 RID: 919 RVA: 0x0000E760 File Offset: 0x0000C960
451 private void FlushEncoder()
452 {
453 }
454
455 // Token: 0x06000398 RID: 920 RVA: 0x0000E770 File Offset: 0x0000C970
456 protected unsafe void WriteAttributeTextBlock(char* pSrc, char* pSrcEnd)
457 {
458 if (this.bufBytes != null)
459 {
460 return;
461 }
463 }
464
465 // Token: 0x06000399 RID: 921 RVA: 0x0000E81C File Offset: 0x0000CA1C
466 protected unsafe void WriteElementTextBlock(char* pSrc, char* pSrcEnd)
467 {
468 if (this.bufBytes != null)
469 {
470 return;
471 }
473 }
474
475 // Token: 0x0600039A RID: 922 RVA: 0x0000E8B0 File Offset: 0x0000CAB0
476 protected void RawText(string s)
477 {
478 if (s != null)
479 {
481 return;
482 }
483 }
484
485 // Token: 0x0600039B RID: 923 RVA: 0x0000E8CC File Offset: 0x0000CACC
486 protected unsafe void RawText(char* pSrcBegin, char* pSrcEnd)
487 {
488 if (this.bufBytes != null)
489 {
490 return;
491 }
492 }
493
494 // Token: 0x0600039C RID: 924 RVA: 0x0000E900 File Offset: 0x0000CB00
496 {
497 if (this.bufBytes != null)
498 {
499 return;
500 }
502 }
503
504 // Token: 0x0600039D RID: 925 RVA: 0x0000E968 File Offset: 0x0000CB68
505 protected void WriteCommentOrPi(string text, int stopChar)
506 {
507 if (text._stringLength == 0)
508 {
509 int num = this.bufPos;
510 int num2 = this.bufLen;
511 return;
512 }
514 if (this.bufBytes != null)
515 {
516 return;
517 }
519 }
520
521 // Token: 0x0600039E RID: 926 RVA: 0x0000EA10 File Offset: 0x0000CC10
522 protected void WriteCDataSection(string text)
523 {
524 if (text._stringLength == 0)
525 {
526 int num = this.bufPos;
527 int num2 = this.bufLen;
528 return;
529 }
531 if (this.bufBytes != null)
532 {
533 return;
534 }
536 }
537
538 // Token: 0x0600039F RID: 927 RVA: 0x00003FFD File Offset: 0x000021FD
539 private static bool IsSurrogateByte(byte b)
540 {
541 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
542 }
543
544 // Token: 0x060003A0 RID: 928 RVA: 0x0000EAD0 File Offset: 0x0000CCD0
545 private unsafe static byte* EncodeSurrogate(char* pSrc, char* pSrcEnd, byte* pDst)
546 {
547 /*
548An exception occurred when decompiling this method (060003A0)
549
550ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte* System.Xml.XmlUtf8RawTextWriter::EncodeSurrogate(System.Char*,System.Char*,System.Byte*)
551
552 ---> System.Exception: Basic block has to end with unconditional control flow.
553{
554 Block_0:
555 stloc:Exception(var_6_1B, call:Exception(XmlConvert::CreateInvalidHighSurrogateCharException, ldloc:char*[exp:char](pSrc)))
556 stloc:string(var_7_27, call:string(Res::GetString, ldstr:string("The surrogate pair is invalid. Missing a low surrogate character.")))
557}
558
559 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
560 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
561 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
562 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
563 --- End of inner exception stack trace ---
564 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
565 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
566*/;
567 }
568
569 // Token: 0x060003A1 RID: 929 RVA: 0x0000EB08 File Offset: 0x0000CD08
570 private unsafe byte* InvalidXmlChar(int ch, byte* pDst, bool entitize)
571 {
572 /*
573An exception occurred when decompiling this method (060003A1)
574
575ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte* System.Xml.XmlUtf8RawTextWriter::InvalidXmlChar(System.Int32,System.Byte*,System.Boolean)
576
577 ---> System.Exception: Basic block has to end with unconditional control flow.
578{
579 IL_0027:
580 stloc:int64(var_3_28, ldc.i4:int64(0))
581 stloc:Exception(var_4_30, call:Exception(XmlConvert::CreateInvalidCharException, ldloc:int32[exp:char](ch), ldloc:int64[exp:char](var_3_28)))
582}
583
584 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
585 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
586 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
587 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
588 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
589 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
590 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
591 --- End of inner exception stack trace ---
592 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
593 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
594*/;
595 }
596
597 // Token: 0x060003A2 RID: 930 RVA: 0x0000EB48 File Offset: 0x0000CD48
598 internal unsafe void EncodeChar(char* pSrc, char* pSrcEnd, byte* pDst)
599 {
600 byte* ptr;
601 pDst->m_value = ptr;
602 }
603
604 // Token: 0x060003A3 RID: 931 RVA: 0x0000EB84 File Offset: 0x0000CD84
605 internal unsafe static byte* EncodeMultibyteUTF8(int ch, byte* pDst)
606 {
607 }
608
609 // Token: 0x060003A4 RID: 932 RVA: 0x0000EB98 File Offset: 0x0000CD98
610 internal unsafe static void CharToUTF8(char* pSrc, char* pSrcEnd, byte* pDst)
611 {
612 byte* ptr;
613 pDst->m_value = ptr;
614 }
615
616 // Token: 0x060003A5 RID: 933 RVA: 0x0000EBB8 File Offset: 0x0000CDB8
617 protected unsafe byte* WriteNewLine(byte* pDst)
618 {
619 /*
620An exception occurred when decompiling this method (060003A5)
621
622ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte* System.Xml.XmlUtf8RawTextWriter::WriteNewLine(System.Byte*)
623
624 ---> System.Exception: Basic block has to end with unconditional control flow.
625{
626 IL_0008:
627 stloc:string(var_0_0E, ldfld:string(XmlUtf8RawTextWriter::newLineChars, ldloc:XmlUtf8RawTextWriter(this)))
628 call:void(XmlUtf8RawTextWriter::RawText, ldloc:XmlUtf8RawTextWriter(this), ldloc:string(var_0_0E))
629}
630
631 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
632 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
633 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
634 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
635 --- End of inner exception stack trace ---
636 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
637 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
638*/;
639 }
640
641 // Token: 0x060003A6 RID: 934 RVA: 0x00003FFD File Offset: 0x000021FD
642 protected unsafe static byte* LtEntity(byte* pDst)
643 {
644 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
645 }
646
647 // Token: 0x060003A7 RID: 935 RVA: 0x00003FFD File Offset: 0x000021FD
648 protected unsafe static byte* GtEntity(byte* pDst)
649 {
650 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
651 }
652
653 // Token: 0x060003A8 RID: 936 RVA: 0x00003FFD File Offset: 0x000021FD
654 protected unsafe static byte* AmpEntity(byte* pDst)
655 {
656 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
657 }
658
659 // Token: 0x060003A9 RID: 937 RVA: 0x00003FFD File Offset: 0x000021FD
660 protected unsafe static byte* QuoteEntity(byte* pDst)
661 {
662 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
663 }
664
665 // Token: 0x060003AA RID: 938 RVA: 0x00003FFD File Offset: 0x000021FD
666 protected unsafe static byte* TabEntity(byte* pDst)
667 {
668 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
669 }
670
671 // Token: 0x060003AB RID: 939 RVA: 0x00003FFD File Offset: 0x000021FD
672 protected unsafe static byte* LineFeedEntity(byte* pDst)
673 {
674 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
675 }
676
677 // Token: 0x060003AC RID: 940 RVA: 0x00003FFD File Offset: 0x000021FD
678 protected unsafe static byte* CarriageReturnEntity(byte* pDst)
679 {
680 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
681 }
682
683 // Token: 0x060003AD RID: 941 RVA: 0x0000EBDC File Offset: 0x0000CDDC
684 private unsafe static byte* CharEntity(byte* pDst, char ch)
685 {
686 /*
687An exception occurred when decompiling this method (060003AD)
688
689ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte* System.Xml.XmlUtf8RawTextWriter::CharEntity(System.Byte*,System.Char)
690
691 ---> System.Exception: Basic block has to end with unconditional control flow.
692{
693 IL_001B:
694 brtrue(IL_001B, ldloc:int32[exp:bool](var_3_0D))
695}
696
697 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
698 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
699 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
700 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
701 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
702 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
703 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
704 --- End of inner exception stack trace ---
705 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
706 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
707*/;
708 }
709
710 // Token: 0x060003AE RID: 942 RVA: 0x00003FFD File Offset: 0x000021FD
711 protected unsafe static byte* RawStartCData(byte* pDst)
712 {
713 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
714 }
715
716 // Token: 0x060003AF RID: 943 RVA: 0x00003FFD File Offset: 0x000021FD
717 protected unsafe static byte* RawEndCData(byte* pDst)
718 {
719 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
720 }
721
722 // Token: 0x060003B0 RID: 944 RVA: 0x0000EC08 File Offset: 0x0000CE08
723 protected void ValidateContentChars(string chars, string propertyName, bool allowOnlyWhitespace)
724 {
725 throw new ArrayTypeMismatchException();
726 }
727
728 // Token: 0x040001C1 RID: 449
729 private readonly bool useAsync;
730
731 // Token: 0x040001C2 RID: 450
732 protected byte[] bufBytes;
733
734 // Token: 0x040001C3 RID: 451
735 protected Stream stream;
736
737 // Token: 0x040001C4 RID: 452
739
740 // Token: 0x040001C5 RID: 453
742
743 // Token: 0x040001C6 RID: 454
744 protected int bufPos;
745
746 // Token: 0x040001C7 RID: 455
747 protected int textPos;
748
749 // Token: 0x040001C8 RID: 456
750 protected int contentPos;
751
752 // Token: 0x040001C9 RID: 457
753 protected int cdataPos;
754
755 // Token: 0x040001CA RID: 458
756 protected int attrEndPos;
757
758 // Token: 0x040001CB RID: 459
759 protected int bufLen;
760
761 // Token: 0x040001CC RID: 460
762 protected bool writeToNull;
763
764 // Token: 0x040001CD RID: 461
765 protected bool hadDoubleBracket;
766
767 // Token: 0x040001CE RID: 462
768 protected bool inAttributeValue;
769
770 // Token: 0x040001CF RID: 463
772
773 // Token: 0x040001D0 RID: 464
774 protected bool closeOutput;
775
776 // Token: 0x040001D1 RID: 465
777 protected bool omitXmlDeclaration;
778
779 // Token: 0x040001D2 RID: 466
780 protected string newLineChars;
781
782 // Token: 0x040001D3 RID: 467
783 protected bool checkCharacters;
784
785 // Token: 0x040001D4 RID: 468
787
788 // Token: 0x040001D5 RID: 469
790
791 // Token: 0x040001D6 RID: 470
792 protected bool autoXmlDeclaration;
793
794 // Token: 0x040001D7 RID: 471
795 protected bool mergeCDataSections;
796 }
797}
class f__AnonymousType0<< Count > j__TPar
CodePageDataItem dataItem
Definition Encoding.cs:1017
override void WriteStartNamespaceDeclaration(string prefix)
override void WriteProcessingInstruction(string name, string text)
unsafe byte * WriteNewLine(byte *pDst)
override void WriteCData(string text)
static unsafe byte * AmpEntity(byte *pDst)
static unsafe void CharToUTF8(char *pSrc, char *pSrcEnd, byte *pDst)
static unsafe byte * RawStartCData(byte *pDst)
static unsafe byte * CarriageReturnEntity(byte *pDst)
override void WriteEntityRef(string name)
override void WriteEndElement(string prefix, string localName, string ns)
void ValidateContentChars(string chars, string propertyName, bool allowOnlyWhitespace)
unsafe void WriteElementTextBlock(char *pSrc, char *pSrcEnd)
override void WriteFullEndElement(string prefix, string localName, string ns)
override void WriteXmlDeclaration(string xmldecl)
unsafe byte * InvalidXmlChar(int ch, byte *pDst, bool entitize)
XmlUtf8RawTextWriter(XmlWriterSettings settings)
override void WriteDocType(string name, string pubid, string sysid, string subset)
override void WriteNamespaceDeclaration(string prefix, string namespaceName)
static unsafe byte * CharEntity(byte *pDst, char ch)
override void WriteStartAttribute(string prefix, string localName, string ns)
static unsafe byte * LtEntity(byte *pDst)
unsafe void RawText(char *pSrcBegin, char *pSrcEnd)
override void WriteChars(char[] buffer, int index, int count)
override void WriteXmlDeclaration(XmlStandalone standalone)
XmlUtf8RawTextWriter(Stream stream, XmlWriterSettings settings)
static unsafe byte * GtEntity(byte *pDst)
static unsafe byte * QuoteEntity(byte *pDst)
override void WriteStartElement(string prefix, string localName, string ns)
override void WriteRaw(string data)
static unsafe byte * TabEntity(byte *pDst)
override void WriteWhitespace(string ws)
static unsafe byte * RawEndCData(byte *pDst)
void WriteCommentOrPi(string text, int stopChar)
unsafe void WriteAttributeTextBlock(char *pSrc, char *pSrcEnd)
static unsafe byte * LineFeedEntity(byte *pDst)
unsafe void EncodeChar(char *pSrc, char *pSrcEnd, byte *pDst)
unsafe void WriteRawWithCharChecking(char *pSrcBegin, char *pSrcEnd)
static unsafe byte * EncodeMultibyteUTF8(int ch, byte *pDst)
override void WriteSurrogateCharEntity(char lowChar, char highChar)
override void WriteComment(string text)
override void WriteString(string text)
static unsafe byte * EncodeSurrogate(char *pSrc, char *pSrcEnd, byte *pDst)
override void WriteRaw(char[] buffer, int index, int count)
static XmlCharType Instance