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
Regex.cs
Go to the documentation of this file.
1using System;
8
10{
11 // Token: 0x020000AF RID: 175
12 public class Regex : ISerializable
13 {
14 // Token: 0x06000353 RID: 851 RVA: 0x0000BA04 File Offset: 0x00009C04
16 {
17 if (!true)
18 {
19 }
20 if (key._pattern == null)
21 {
22 }
23 string text = key._pattern;
24 return this.GetCachedCodeEntryInternal(key, isToAdd);
25 }
26
27 // Token: 0x06000354 RID: 852 RVA: 0x0000BA30 File Offset: 0x00009C30
29 {
30 if (!true)
31 {
32 }
33 string text = key._pattern;
34 if (text == null)
35 {
36 }
38 long num2;
39 if (cachedCodeEntry == null)
40 {
41 if (text == null)
42 {
43 }
44 string text2 = key._pattern;
47 string[] array = this.capslist;
48 int num = this.capsize;
51 string text3 = key._pattern;
52 if (text3 == null)
53 {
54 }
55 if (text3 == null)
56 {
57 }
58 if (text3 == null)
59 {
60 }
61 string text4 = key._pattern;
62 if (text3 == null)
63 {
64 }
65 num2 = 0L;
66 }
67 if (num2 == 0L)
68 {
69 }
70 throw new OutOfMemoryException();
71 }
72
73 // Token: 0x06000355 RID: 853 RVA: 0x0000BACC File Offset: 0x00009CCC
74 private void FillCacheDictionary()
75 {
76 if (!true)
77 {
78 }
79 if (!true)
80 {
81 }
82 }
83
84 // Token: 0x06000356 RID: 854 RVA: 0x0000BAE0 File Offset: 0x00009CE0
86 {
87 if (!true)
88 {
89 }
90 bool flag;
91 return flag;
92 }
93
94 // Token: 0x06000357 RID: 855 RVA: 0x0000BAF4 File Offset: 0x00009CF4
96 {
97 if (!true)
98 {
99 }
100 if (true)
101 {
102 key._options = RegexOptions.IgnoreCase;
103 if (true)
104 {
105 bool flag;
106 return flag;
107 }
108 }
109 return true;
110 }
111
112 // Token: 0x06000358 RID: 856 RVA: 0x0000BB18 File Offset: 0x00009D18
114 {
115 /*
116An exception occurred when decompiling this method (06000358)
117
118ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Text.RegularExpressions.Regex/CachedCodeEntry System.Text.RegularExpressions.Regex::LookupCachedAndPromote(System.Text.RegularExpressions.Regex/CachedCodeEntryKey)
119
120 ---> System.Exception: Basic block has to end with unconditional control flow.
121{
122 IL_0000:
123 brtrue(IL_0000, ldc.i4:bool(1))
124}
125
126 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
127 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
128 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
129 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
130 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
131 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
132 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
133 --- End of inner exception stack trace ---
134 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
135 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
136*/;
137 }
138
139 // Token: 0x06000359 RID: 857 RVA: 0x0000BB28 File Offset: 0x00009D28
140 public static bool IsMatch(string input, string pattern, RegexOptions options)
141 {
142 if (!true)
143 {
144 }
145 bool flag;
146 return flag;
147 }
148
149 // Token: 0x0600035A RID: 858 RVA: 0x0000BB3C File Offset: 0x00009D3C
150 public static bool IsMatch(string input, string pattern, RegexOptions options, TimeSpan matchTimeout)
151 {
152 bool flag;
153 return flag;
154 }
155
156 // Token: 0x0600035B RID: 859 RVA: 0x0000BB4C File Offset: 0x00009D4C
157 public bool IsMatch(string input)
158 {
159 while (input == null)
160 {
161 }
163 int stringLength = input._stringLength;
164 return this.IsMatch(input, stringLength);
165 }
166
167 // Token: 0x0600035C RID: 860 RVA: 0x0000BB74 File Offset: 0x00009D74
168 public bool IsMatch(string input, int startat)
169 {
170 /*
171An exception occurred when decompiling this method (0600035C)
172
173ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Text.RegularExpressions.Regex::IsMatch(System.String,System.Int32)
174
175 ---> System.Exception: Basic block has to end with unconditional control flow.
176{
177 Block_0:
178 stloc:int32(var_0_09, ldfld:int32(string::_stringLength, ldloc:string(input)))
179 stloc:int64(var_1_0B, ldc.i4:int64(0))
180 stloc:Match(var_2_18, call:Match(Regex::Run, ldloc:Regex(this), ldc.i4:bool(1), ldloc:int32(startat), ldloc:string(input), ldloc:int64[exp:int32](var_1_0B), ldloc:int32(var_0_09), ldloc:int32(startat)))
181}
182
183 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
184 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
185 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
186 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
187 --- End of inner exception stack trace ---
188 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
189 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
190*/;
191 }
192
193 // Token: 0x0600035D RID: 861 RVA: 0x0000BB9C File Offset: 0x00009D9C
194 public static Match Match(string input, string pattern)
195 {
196 if (!true)
197 {
198 }
199 Match match;
200 return match;
201 }
202
203 // Token: 0x0600035E RID: 862 RVA: 0x0000BBB0 File Offset: 0x00009DB0
205 {
206 Match match;
207 return match;
208 }
209
210 // Token: 0x0600035F RID: 863 RVA: 0x0000BBC0 File Offset: 0x00009DC0
211 public Match Match(string input)
212 {
213 while (input == null)
214 {
215 }
217 int stringLength = input._stringLength;
218 return this.Match(input, stringLength);
219 }
220
221 // Token: 0x06000360 RID: 864 RVA: 0x0000BBE8 File Offset: 0x00009DE8
222 public Match Match(string input, int startat)
223 {
224 while (input == null)
225 {
226 }
227 int stringLength = input._stringLength;
228 long num = 0L;
229 long num2 = 0L;
230 return this.Run(num != 0L, startat, input, (int)num2, stringLength, startat);
231 }
232
233 // Token: 0x06000361 RID: 865 RVA: 0x0000BC10 File Offset: 0x00009E10
235 {
236 while (input == null)
237 {
238 }
240 int stringLength = input._stringLength;
241 return this.Matches(input, stringLength);
242 }
243
244 // Token: 0x06000362 RID: 866 RVA: 0x0000BC38 File Offset: 0x00009E38
246 {
247 /*
248An exception occurred when decompiling this method (06000362)
249
250ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Text.RegularExpressions.MatchCollection System.Text.RegularExpressions.Regex::Matches(System.String,System.Int32)
251
252 ---> System.Exception: Basic block has to end with unconditional control flow.
253{
254 Block_0:
255 stloc:int32(var_0_09, ldfld:int32(string::_stringLength, ldloc:string(input)))
256}
257
258 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
259 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
260 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
261 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
262 --- End of inner exception stack trace ---
263 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
264 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
265*/;
266 }
267
268 // Token: 0x06000363 RID: 867 RVA: 0x0000BC50 File Offset: 0x00009E50
269 public static string Replace(string input, string pattern, string replacement)
270 {
271 if (!true)
272 {
273 }
274 string text;
275 return text;
276 }
277
278 // Token: 0x06000364 RID: 868 RVA: 0x0000BC64 File Offset: 0x00009E64
279 public static string Replace(string input, string pattern, string replacement, RegexOptions options, TimeSpan matchTimeout)
280 {
281 string text;
282 return text;
283 }
284
285 // Token: 0x06000365 RID: 869 RVA: 0x0000BC74 File Offset: 0x00009E74
286 public string Replace(string input, string replacement)
287 {
288 while (input == null)
289 {
290 }
292 int stringLength = input._stringLength;
293 string text;
294 return text;
295 }
296
297 // Token: 0x06000366 RID: 870 RVA: 0x0000BC94 File Offset: 0x00009E94
298 public string Replace(string input, string replacement, int count, int startat)
299 {
300 while (input != null)
301 {
302 if (replacement != null)
303 {
305 int num = this.capsize;
306 Hashtable hashtable = this.caps;
310 }
311 }
312 return "input";
313 }
314
315 // Token: 0x06000367 RID: 871 RVA: 0x0000BCE8 File Offset: 0x00009EE8
316 public string Replace(string input, MatchEvaluator evaluator)
317 {
318 while (input == null)
319 {
320 }
322 int stringLength = input._stringLength;
323 string text;
324 return text;
325 }
326
327 // Token: 0x06000368 RID: 872 RVA: 0x0000BD08 File Offset: 0x00009F08
328 public string Replace(string input, MatchEvaluator evaluator, int count, int startat)
329 {
330 while (input == null)
331 {
332 }
333 return Regex.Replace(evaluator, this, input, count, startat);
334 }
335
336 // Token: 0x06000369 RID: 873 RVA: 0x0000BD24 File Offset: 0x00009F24
337 private static string Replace(MatchEvaluator evaluator, Regex regex, string input, int count, int startat)
338 {
340 do
341 {
342 TimeSpan timeSpan = regex.internalMatchTimeout;
343 Match match;
344 if (input == null || match._capcount == 0)
345 {
346 goto IL_0052;
347 }
348 StringBuilder stringBuilder = StringBuilderCache.Acquire(16);
349 object target = evaluator.m_target;
350 int <Index>k__BackingField = match.<Index>k__BackingField;
351 int <Index>k__BackingField2 = match.<Index>k__BackingField;
352 int <Length>k__BackingField = match.<Length>k__BackingField;
353 match2 = match.NextMatch();
354 }
355 while (match2._capcount != 0);
356 TimeSpan timeSpan2 = regex.internalMatchTimeout;
357 IL_0052:
358 TimeSpan timeSpan3 = regex.internalMatchTimeout;
359 int <Index>k__BackingField3 = match2.<Index>k__BackingField;
360 string <Text>k__BackingField = match2.<Text>k__BackingField;
361 string text;
362 return text;
363 }
364
365 // Token: 0x0600036A RID: 874 RVA: 0x0000BDC8 File Offset: 0x00009FC8
366 public static string[] Split(string input, string pattern)
367 {
368 if (!true)
369 {
370 }
371 string[] array;
372 return array;
373 }
374
375 // Token: 0x0600036B RID: 875 RVA: 0x0000BDDC File Offset: 0x00009FDC
376 public static string[] Split(string input, string pattern, RegexOptions options, TimeSpan matchTimeout)
377 {
378 string[] array;
379 return array;
380 }
381
382 // Token: 0x0600036C RID: 876 RVA: 0x0000BDEC File Offset: 0x00009FEC
383 public string[] Split(string input)
384 {
385 while (input == null)
386 {
387 }
389 int stringLength = input._stringLength;
390 long num = 0L;
391 return this.Split(input, (int)num, stringLength);
392 }
393
394 // Token: 0x0600036D RID: 877 RVA: 0x0000BE18 File Offset: 0x0000A018
395 public string[] Split(string input, int count, int startat)
396 {
397 while (input == null)
398 {
399 }
400 return Regex.Split(this, input, count, startat);
401 }
402
403 // Token: 0x0600036E RID: 878 RVA: 0x0000BE34 File Offset: 0x0000A034
404 private static string[] Split(Regex regex, string input, int count, int startat)
405 {
406 TimeSpan timeSpan = regex.internalMatchTimeout;
407 Match match;
408 if (match._capcount != 0)
409 {
410 int <Index>k__BackingField = match.<Index>k__BackingField;
411 string text;
412 return text;
413 }
414 if (regex != null)
415 {
416 TimeSpan timeSpan2 = regex.internalMatchTimeout;
418 int <Index>k__BackingField2 = match2.<Index>k__BackingField;
419 string <Text>k__BackingField = match2.<Text>k__BackingField;
420 string text2;
421 return text2;
422 }
423 throw new ArrayTypeMismatchException();
424 }
425
426 // Token: 0x0600036F RID: 879 RVA: 0x0000BF00 File Offset: 0x0000A100
427 static Regex()
428 {
430 if (15 == 0)
431 {
432 }
434 }
435
436 // Token: 0x06000370 RID: 880 RVA: 0x0000BF28 File Offset: 0x0000A128
437 protected internal static void ValidateMatchTimeout(TimeSpan matchTimeout)
438 {
439 if (!true)
440 {
441 }
442 }
443
444 // Token: 0x06000371 RID: 881 RVA: 0x0000BF38 File Offset: 0x0000A138
446 {
447 object data = AppDomain.CurrentDomain.GetData("REGEX_DEFAULT_MATCH_TIMEOUT");
448 if (data != null)
449 {
450 }
451 if (data == null)
452 {
453 return;
454 }
455 }
456
457 // Token: 0x06000372 RID: 882 RVA: 0x0000BF60 File Offset: 0x0000A160
458 public Regex(string pattern)
459 {
460 if (!true)
461 {
462 }
463 }
464
465 // Token: 0x06000373 RID: 883 RVA: 0x0000BF70 File Offset: 0x0000A170
467 {
468 if (!true)
469 {
470 }
471 }
472
473 // Token: 0x06000374 RID: 884 RVA: 0x00002050 File Offset: 0x00000250
475 {
476 throw new global::Cpp2IlInjected.AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
477 }
478
479 // Token: 0x06000375 RID: 885 RVA: 0x0000BF80 File Offset: 0x0000A180
481 {
482 do
483 {
484 base..ctor();
485 }
486 while (pattern == null);
487 if (!true)
488 {
489 if (!true)
490 {
491 }
496 if (!true)
497 {
498 }
500 return;
501 }
502 }
503
504 // Token: 0x06000376 RID: 886 RVA: 0x0000C098 File Offset: 0x0000A298
505 public static string Escape(string str)
506 {
507 string text;
508 return text;
509 }
510
511 // Token: 0x170000BA RID: 186
512 // (get) Token: 0x06000377 RID: 887 RVA: 0x0000C0A8 File Offset: 0x0000A2A8
514 {
515 get
516 {
517 return this.roptions;
518 }
519 }
520
521 // Token: 0x170000BB RID: 187
522 // (get) Token: 0x06000378 RID: 888 RVA: 0x0000C0BC File Offset: 0x0000A2BC
523 public bool RightToLeft
524 {
525 get
526 {
527 /*
528An exception occurred when decompiling this method (06000378)
529
530ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Text.RegularExpressions.Regex::get_RightToLeft()
531
532 ---> System.Exception: Basic block has to end with unconditional control flow.
533{
534 Block_0:
535 stloc:RegexOptions(var_0_06, ldfld:RegexOptions(Regex::roptions, ldloc:Regex(this)))
536}
537
538 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
539 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
540 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
541 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
542 --- End of inner exception stack trace ---
543 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
544 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
545*/;
546 }
547 }
548
549 // Token: 0x06000379 RID: 889 RVA: 0x0000C0D0 File Offset: 0x0000A2D0
550 public override string ToString()
551 {
552 return this.pattern;
553 }
554
555 // Token: 0x0600037A RID: 890 RVA: 0x0000C0E4 File Offset: 0x0000A2E4
556 public string GroupNameFromNumber(int i)
557 {
558 if (this.capslist != null)
559 {
560 if (this.caps != null)
561 {
562 }
563 string[] array = this.capslist;
564 }
565 int num = this.capsize;
567 string text;
568 return text;
569 }
570
571 // Token: 0x0600037B RID: 891 RVA: 0x0000C11C File Offset: 0x0000A31C
572 public int GroupNumberFromName(string name)
573 {
574 /*
575An exception occurred when decompiling this method (0600037B)
576
577ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 System.Text.RegularExpressions.Regex::GroupNumberFromName(System.String)
578
579 ---> System.Exception: Basic block has to end with unconditional control flow.
580{
581 IL_000B:
582 stloc:int32(var_1_11, ldfld:int32(string::_stringLength, ldloc:string(name)))
583 stloc:int64(var_2_13, ldc.i4:int64(0))
584 stloc:char(var_3_1B, callgetter:char(string::get_Chars, ldloc:string(name), ldloc:int64[exp:int32](var_2_13)))
585 stloc:int32(var_4_22, ldfld:int32(string::_stringLength, ldloc:string(name)))
586 stloc:int32(var_6_2D, ldfld:int32(Regex::capsize, ldloc:Regex(this)))
587}
588
589 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
590 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
591 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
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 88
593 --- End of inner exception stack trace ---
594 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
595 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
596*/;
597 }
598
599 // Token: 0x0600037C RID: 892 RVA: 0x0000C158 File Offset: 0x0000A358
600 protected void InitializeReferences()
601 {
602 while (this._refsInitialized)
603 {
604 }
606 }
607
608 // Token: 0x0600037D RID: 893 RVA: 0x0000C174 File Offset: 0x0000A374
609 internal Match Run(bool quick, int prevlen, string input, int beginning, int length, int startat)
610 {
611 int stringLength = input._stringLength;
612 if (this._runnerref.Get() == null)
613 {
614 if (this.factory != null)
615 {
616 }
617 RegexCode code = this._code;
621 }
624 Match match;
625 return match;
626 }
627
628 // Token: 0x0600037E RID: 894 RVA: 0x0000C1E4 File Offset: 0x0000A3E4
629 protected internal bool UseOptionR()
630 {
631 /*
632An exception occurred when decompiling this method (0600037E)
633
634ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Text.RegularExpressions.Regex::UseOptionR()
635
636 ---> System.Exception: Basic block has to end with unconditional control flow.
637{
638 Block_0:
639 stloc:RegexOptions(var_0_06, ldfld:RegexOptions(Regex::roptions, ldloc:Regex(this)))
640}
641
642 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
643 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
644 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
645 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
646 --- End of inner exception stack trace ---
647 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
648 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
649*/;
650 }
651
652 // Token: 0x0600037F RID: 895 RVA: 0x00002050 File Offset: 0x00000250
653 internal bool UseOptionInvariant()
654 {
655 throw new global::Cpp2IlInjected.AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
656 }
657
658 // Token: 0x040002A8 RID: 680
659 private const int CacheDictionarySwitchLimit = 10;
660
661 // Token: 0x040002A9 RID: 681
662 private static int s_cacheSize;
663
664 // Token: 0x040002AA RID: 682
666
667 // Token: 0x040002AB RID: 683
668 private static int s_cacheCount;
669
670 // Token: 0x040002AC RID: 684
672
673 // Token: 0x040002AD RID: 685
675
676 // Token: 0x040002AE RID: 686
678
679 // Token: 0x040002AF RID: 687
680 private const string DefaultMatchTimeout_ConfigKeyName = "REGEX_DEFAULT_MATCH_TIMEOUT";
681
682 // Token: 0x040002B0 RID: 688
684
685 // Token: 0x040002B1 RID: 689
687
688 // Token: 0x040002B2 RID: 690
689 protected internal TimeSpan internalMatchTimeout;
690
691 // Token: 0x040002B3 RID: 691
692 internal const int MaxOptionShift = 10;
693
694 // Token: 0x040002B4 RID: 692
695 protected internal string pattern;
696
697 // Token: 0x040002B5 RID: 693
698 protected internal RegexOptions roptions;
699
700 // Token: 0x040002B6 RID: 694
701 protected internal RegexRunnerFactory factory;
702
703 // Token: 0x040002B7 RID: 695
704 protected internal Hashtable caps;
705
706 // Token: 0x040002B8 RID: 696
707 protected internal Hashtable capnames;
708
709 // Token: 0x040002B9 RID: 697
710 protected internal string[] capslist;
711
712 // Token: 0x040002BA RID: 698
713 protected internal int capsize;
714
715 // Token: 0x040002BB RID: 699
717
718 // Token: 0x040002BC RID: 700
720
721 // Token: 0x040002BD RID: 701
722 internal RegexCode _code;
723
724 // Token: 0x040002BE RID: 702
725 internal bool _refsInitialized;
726
727 // Token: 0x020000B0 RID: 176
728 internal readonly struct CachedCodeEntryKey : IEquatable<Regex.CachedCodeEntryKey>
729 {
730 // Token: 0x06000380 RID: 896 RVA: 0x0000C1F8 File Offset: 0x0000A3F8
737
738 // Token: 0x06000381 RID: 897 RVA: 0x0000C21C File Offset: 0x0000A41C
739 public override bool Equals(object obj)
740 {
741 if (obj != null)
742 {
743 }
744 bool flag;
745 return flag;
746 }
747
748 // Token: 0x06000382 RID: 898 RVA: 0x0000C230 File Offset: 0x0000A430
750 {
751 string pattern = this._pattern;
752 string pattern2 = other._pattern;
753 bool flag = pattern.Equals(pattern2);
754 string cultureKey = this._cultureKey;
755 string cultureKey2 = other._cultureKey;
756 return cultureKey.Equals(cultureKey2);
757 }
758
759 // Token: 0x06000383 RID: 899 RVA: 0x0000C270 File Offset: 0x0000A470
761 {
762 string pattern = left._pattern;
763 bool flag;
764 return flag;
765 }
766
767 // Token: 0x06000384 RID: 900 RVA: 0x0000C288 File Offset: 0x0000A488
768 public override int GetHashCode()
769 {
770 /*
771An exception occurred when decompiling this method (06000384)
772
773ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 System.Text.RegularExpressions.Regex/CachedCodeEntryKey::GetHashCode()
774
775 ---> System.Exception: Basic block has to end with unconditional control flow.
776{
777 Block_0:
778 stloc:string(var_0_06, ldfld:string(CachedCodeEntryKey::_cultureKey, ldloc:valuetype System.Text.RegularExpressions.Regex/CachedCodeEntryKey&(this)))
779 stloc:string(var_1_0D, ldfld:string(CachedCodeEntryKey::_pattern, ldloc:valuetype System.Text.RegularExpressions.Regex/CachedCodeEntryKey&(this)))
780}
781
782 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
783 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
784 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
785 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
786 --- End of inner exception stack trace ---
787 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
788 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
789*/;
790 }
791
792 // Token: 0x040002BF RID: 703
794
795 // Token: 0x040002C0 RID: 704
796 private readonly string _cultureKey;
797
798 // Token: 0x040002C1 RID: 705
799 private readonly string _pattern;
800 }
801
802 // Token: 0x020000B1 RID: 177
803 internal sealed class CachedCodeEntry
804 {
805 // Token: 0x06000385 RID: 901 RVA: 0x0000C2A4 File Offset: 0x0000A4A4
817
818 // Token: 0x040002C2 RID: 706
820
821 // Token: 0x040002C3 RID: 707
823
824 // Token: 0x040002C4 RID: 708
826
827 // Token: 0x040002C5 RID: 709
829
830 // Token: 0x040002C6 RID: 710
832
833 // Token: 0x040002C7 RID: 711
835
836 // Token: 0x040002C8 RID: 712
837 public readonly string[] Capslist;
838
839 // Token: 0x040002C9 RID: 713
840 public readonly int Capsize;
841
842 // Token: 0x040002CA RID: 714
844
845 // Token: 0x040002CB RID: 715
847 }
848 }
849}
class f__AnonymousType0<< Count > j__TPar
object GetData(string name)
Definition AppDomain.cs:69
static AppDomain CurrentDomain
Definition AppDomain.cs:49
static CultureInfo CurrentCulture
static CultureInfo InvariantCulture
string Replace(Regex regex, string input, int count, int startat)
static RegexReplacement GetOrCreate(WeakReference< RegexReplacement > replRef, string replacement, Hashtable caps, int capsize, Hashtable capnames, RegexOptions roptions)
readonly Regex.CachedCodeEntryKey Key
Definition Regex.cs:825
readonly WeakReference< RegexReplacement > ReplRef
Definition Regex.cs:846
CachedCodeEntry(Regex.CachedCodeEntryKey key, Hashtable capnames, string[] capslist, RegexCode code, Hashtable caps, int capsize, ExclusiveReference runner, WeakReference< RegexReplacement > replref)
Definition Regex.cs:806
static Regex.CachedCodeEntry s_cacheFirst
Definition Regex.cs:671
Match Match(string input)
Definition Regex.cs:211
static string Replace(string input, string pattern, string replacement)
Definition Regex.cs:269
static string Escape(string str)
Definition Regex.cs:505
Regex.CachedCodeEntry GetCachedCodeEntryInternal(Regex.CachedCodeEntryKey key, bool isToAdd)
Definition Regex.cs:28
static string Replace(MatchEvaluator evaluator, Regex regex, string input, int count, int startat)
Definition Regex.cs:337
string Replace(string input, string replacement)
Definition Regex.cs:286
string[] Split(string input, int count, int startat)
Definition Regex.cs:395
static string[] Split(Regex regex, string input, int count, int startat)
Definition Regex.cs:404
ExclusiveReference _runnerref
Definition Regex.cs:716
static readonly TimeSpan InfiniteMatchTimeout
Definition Regex.cs:686
bool IsMatch(string input, int startat)
Definition Regex.cs:168
static Regex.CachedCodeEntry LookupCachedAndPromote(Regex.CachedCodeEntryKey key)
Definition Regex.cs:113
Match Match(string input, int startat)
Definition Regex.cs:222
static string[] Split(string input, string pattern)
Definition Regex.cs:366
static bool TryGetCacheValue(Regex.CachedCodeEntryKey key, [Out] Regex.CachedCodeEntry entry)
Definition Regex.cs:85
static bool TryGetCacheValueSmall(Regex.CachedCodeEntryKey key, [Out] Regex.CachedCodeEntry entry)
Definition Regex.cs:95
Regex(string pattern, RegexOptions options, TimeSpan matchTimeout, bool addToCache)
Definition Regex.cs:480
string Replace(string input, MatchEvaluator evaluator, int count, int startat)
Definition Regex.cs:328
string[] Split(string input)
Definition Regex.cs:383
Match Run(bool quick, int prevlen, string input, int beginning, int length, int startat)
Definition Regex.cs:609
static readonly TimeSpan s_defaultMatchTimeout
Definition Regex.cs:683
static bool IsMatch(string input, string pattern, RegexOptions options, TimeSpan matchTimeout)
Definition Regex.cs:150
MatchCollection Matches(string input)
Definition Regex.cs:234
Regex.CachedCodeEntry GetCachedCode(Regex.CachedCodeEntryKey key, bool isToAdd)
Definition Regex.cs:15
WeakReference< RegexReplacement > _replref
Definition Regex.cs:719
static Match Match(string input, string pattern)
Definition Regex.cs:194
static void ValidateMatchTimeout(TimeSpan matchTimeout)
Definition Regex.cs:437
static Match Match(string input, string pattern, RegexOptions options, TimeSpan matchTimeout)
Definition Regex.cs:204
string Replace(string input, MatchEvaluator evaluator)
Definition Regex.cs:316
static TimeSpan InitDefaultMatchTimeout()
Definition Regex.cs:445
static Regex.CachedCodeEntry s_cacheLast
Definition Regex.cs:674
int GroupNumberFromName(string name)
Definition Regex.cs:572
static readonly Dictionary< Regex.CachedCodeEntryKey, Regex.CachedCodeEntry > s_cache
Definition Regex.cs:665
static bool IsMatch(string input, string pattern, RegexOptions options)
Definition Regex.cs:140
static readonly TimeSpan s_maximumMatchTimeout
Definition Regex.cs:677
Regex(string pattern, RegexOptions options)
Definition Regex.cs:466
static string Replace(string input, string pattern, string replacement, RegexOptions options, TimeSpan matchTimeout)
Definition Regex.cs:279
static string[] Split(string input, string pattern, RegexOptions options, TimeSpan matchTimeout)
Definition Regex.cs:376
const string DefaultMatchTimeout_ConfigKeyName
Definition Regex.cs:680
string Replace(string input, string replacement, int count, int startat)
Definition Regex.cs:298
MatchCollection Matches(string input, int startat)
Definition Regex.cs:245
static StringBuilder Acquire(int capacity=16)
void GetObjectData(SerializationInfo info, StreamingContext context)
static bool operator==(Regex.CachedCodeEntryKey left, Regex.CachedCodeEntryKey right)
Definition Regex.cs:760
bool Equals(Regex.CachedCodeEntryKey other)
Definition Regex.cs:749
CachedCodeEntryKey(RegexOptions options, string cultureKey, string pattern)
Definition Regex.cs:731
static TimeSpan FromMilliseconds(double value)
Definition TimeSpan.cs:237