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
RegexBoyerMoore.cs
Go to the documentation of this file.
1using System;
3
5{
6 // Token: 0x020000B3 RID: 179
7 internal sealed class RegexBoyerMoore
8 {
9 // Token: 0x06000388 RID: 904 RVA: 0x0000C37C File Offset: 0x0000A57C
11 {
12 StringBuilder stringBuilder = StringBuilderCache.Acquire(pattern._stringLength);
13 int stringLength = pattern._stringLength;
14 long num = 0L;
15 char c = pattern[(int)num];
16 int stringLength2 = pattern._stringLength;
20 int stringLength3 = stringAndRelease._stringLength;
21 char c2 = stringAndRelease[rightToLeft ? 1 : 0];
22 int[] positive = this.Positive;
23 char c3 = stringAndRelease[(int)num];
24 }
25
26 // Token: 0x06000389 RID: 905 RVA: 0x0000C488 File Offset: 0x0000A688
27 private bool MatchPattern(string text, int index)
28 {
29 /*
30An exception occurred when decompiling this method (06000389)
31
32ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Text.RegularExpressions.RegexBoyerMoore::MatchPattern(System.String,System.Int32)
33
34 ---> System.Exception: Basic block has to end with unconditional control flow.
35{
36 IL_0056:
37 stloc:string(var_11_5C, ldfld:string(RegexBoyerMoore::Pattern, ldloc:RegexBoyerMoore(this)))
38 stloc:int64(var_12_5F, ldc.i4:int64(0))
39 stloc:int32(var_13_68, ldfld:int32(string::_stringLength, ldloc:string(var_11_5C)))
40 stloc:int32(var_14_77, call:int32(string::CompareOrdinal, ldloc:string(var_11_5C), ldloc:int64[exp:int32](var_12_5F), ldloc:string(text), ldloc:int32(index), ldloc:int32(var_13_68)))
41}
42
43 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
44 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
45 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
46 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
47 --- End of inner exception stack trace ---
48 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
49 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
50*/;
51 }
52
53 // Token: 0x0600038A RID: 906 RVA: 0x0000C510 File Offset: 0x0000A710
54 public bool IsMatch(string text, int index, int beglimit, int endlimit)
55 {
56 if (this.RightToLeft)
57 {
58 int stringLength = this.Pattern._stringLength;
59 return this.MatchPattern(text, index);
60 }
61 bool flag;
62 return flag;
63 }
64
65 // Token: 0x0600038B RID: 907 RVA: 0x0000C540 File Offset: 0x0000A740
66 public int Scan(string text, int index, int beglimit, int endlimit)
67 {
68 /*
69An exception occurred when decompiling this method (0600038B)
70
71ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 System.Text.RegularExpressions.RegexBoyerMoore::Scan(System.String,System.Int32,System.Int32,System.Int32)
72
73 ---> System.Exception: Basic block has to end with unconditional control flow.
74{
75 IL_00A5:
76 stloc:bool(var_16_AB, ldfld:bool(RegexBoyerMoore::RightToLeft, ldloc:RegexBoyerMoore(this)))
77}
78
79 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
80 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
81 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
82 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
83 --- End of inner exception stack trace ---
84 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
85 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
86*/;
87 }
88
89 // Token: 0x040002CC RID: 716
90 public readonly int[] Positive;
91
92 // Token: 0x040002CD RID: 717
93 public readonly int[] NegativeASCII;
94
95 // Token: 0x040002CE RID: 718
96 public readonly int[][] NegativeUnicode;
97
98 // Token: 0x040002CF RID: 719
99 public readonly string Pattern;
100
101 // Token: 0x040002D0 RID: 720
102 public readonly int LowASCII;
103
104 // Token: 0x040002D1 RID: 721
105 public readonly int HighASCII;
106
107 // Token: 0x040002D2 RID: 722
109
110 // Token: 0x040002D3 RID: 723
112
113 // Token: 0x040002D4 RID: 724
115 }
116}
class f__AnonymousType0<< Count > j__TPar
int Scan(string text, int index, int beglimit, int endlimit)
RegexBoyerMoore(string pattern, bool caseInsensitive, bool rightToLeft, CultureInfo culture)
bool IsMatch(string text, int index, int beglimit, int endlimit)
static string GetStringAndRelease(StringBuilder sb)
static StringBuilder Acquire(int capacity=16)