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
PropertyNameTable.cs
Go to the documentation of this file.
1using System;
3
5{
6 // Token: 0x02000042 RID: 66
8 internal class PropertyNameTable
9 {
10 // Token: 0x060002BF RID: 703 RVA: 0x00008B58 File Offset: 0x00006D58
12 {
14 }
15
16 // Token: 0x060002C0 RID: 704 RVA: 0x00008B70 File Offset: 0x00006D70
18 {
19 int num = 31;
20 this._mask = num;
21 base..ctor();
22 int mask = this._mask;
23 }
24
25 // Token: 0x060002C1 RID: 705 RVA: 0x00008B98 File Offset: 0x00006D98
26 public string Get(char[] key, int start, int length)
27 {
28 /*
29An exception occurred when decompiling this method (060002C1)
30
31ICSharpCode.Decompiler.DecompilerException: Error decompiling System.String Newtonsoft.Json.Utilities.PropertyNameTable::Get(System.Char[],System.Int32,System.Int32)
32
33 ---> System.Exception: Basic block has to end with unconditional control flow.
34{
35 IL_0008:
36 stloc:int32(var_1_0E, ldfld:int32(PropertyNameTable::_mask, ldloc:PropertyNameTable(this)))
37 stloc:class Newtonsoft.Json.Utilities.PropertyNameTable/Entry[](var_2_15, ldfld:class Newtonsoft.Json.Utilities.PropertyNameTable/Entry[](PropertyNameTable::_entries, ldloc:PropertyNameTable(this)))
38}
39
40 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
41 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
42 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
43 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
44 --- End of inner exception stack trace ---
45 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
46 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
47*/;
48 }
49
50 // Token: 0x060002C2 RID: 706 RVA: 0x00008BC0 File Offset: 0x00006DC0
51 public string Add(string key)
52 {
53 int num;
54 do
55 {
56 num = 1;
57 }
58 while (key == null);
59 if (key._stringLength == 0 || num != 0)
60 {
61 }
62 int stringLength = key._stringLength;
63 long num2 = 0L;
64 char c = key[(int)num2];
65 int stringLength2 = key._stringLength;
66 int mask = this._mask;
67 PropertyNameTable.Entry[] entries = this._entries;
68 string text;
69 return text;
70 }
71
72 // Token: 0x060002C3 RID: 707 RVA: 0x00008C0C File Offset: 0x00006E0C
73 private string AddEntry(string str, int hashCode)
74 {
75 int mask = this._mask;
76 PropertyNameTable.Entry[] entries = this._entries;
78 int count = this._count;
79 int mask2 = this._mask;
80 this.Grow();
82 }
83
84 // Token: 0x060002C4 RID: 708 RVA: 0x00008C48 File Offset: 0x00006E48
85 private void Grow()
86 {
87 int mask = this._mask;
88 PropertyNameTable.Entry[] entries = this._entries;
89 int num = 1;
90 int hashCode = entries.HashCode;
91 int hashCode2 = entries.HashCode;
92 this._mask = num;
93 }
94
95 // Token: 0x060002C5 RID: 709 RVA: 0x00008C84 File Offset: 0x00006E84
96 private static bool TextEquals(string str1, char[] str2, int str2Start, int str2Length)
97 {
98 }
99
100 // Token: 0x04000177 RID: 375
101 private static readonly int HashCodeRandomizer;
102
103 // Token: 0x04000178 RID: 376
104 private int _count;
105
106 // Token: 0x04000179 RID: 377
108
109 // Token: 0x0400017A RID: 378
110 private int _mask;
111
112 // Token: 0x02000043 RID: 67
113 private class Entry
114 {
115 // Token: 0x060002C6 RID: 710 RVA: 0x00008C98 File Offset: 0x00006E98
116 internal Entry(string value, int hashCode, PropertyNameTable.Entry next)
117 {
119 this.HashCode = hashCode;
120 this.Next = next;
121 }
122
123 // Token: 0x0400017B RID: 379
124 internal readonly string Value;
125
126 // Token: 0x0400017C RID: 380
127 internal readonly int HashCode;
128
129 // Token: 0x0400017D RID: 381
131 }
132 }
133}
class f__AnonymousType0<< Count > j__TPar
Entry(string value, int hashCode, PropertyNameTable.Entry next)
static bool TextEquals(string str1, char[] str2, int str2Start, int str2Length)
string Get(char[] key, int start, int length)
string AddEntry(string str, int hashCode)
static int TickCount