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
LowLevelDictionary.cs
Go to the documentation of this file.
1using System;
3
5{
6 // Token: 0x02000640 RID: 1600
7 internal class LowLevelDictionary<TKey, TValue>
8 {
9 // Token: 0x060030F5 RID: 12533 RVA: 0x0006AC88 File Offset: 0x00068E88
11 {
12 LowLevelDictionary.Entry[] buckets = this._buckets;
13 }
14
15 // Token: 0x060030F6 RID: 12534 RVA: 0x0006AC9C File Offset: 0x00068E9C
20
21 // Token: 0x170007E5 RID: 2021
22 public TKey this[TKey key]
23 {
24 set
25 {
26 int version = this._version;
27 this._version = version;
28 if (this != null)
29 {
31 return;
32 }
33 }
34 }
35
36 // Token: 0x060030F8 RID: 12536 RVA: 0x0006ACE0 File Offset: 0x00068EE0
37 public void Clear(int capacity = 17)
38 {
39 int version = this._version;
40 this._version = version;
41 this._buckets = this;
42 }
43
44 // Token: 0x060030F9 RID: 12537 RVA: 0x0006AD04 File Offset: 0x00068F04
45 public bool Remove(TKey key)
46 {
47 LowLevelDictionary.Entry[] buckets = this._buckets;
48 if (buckets != null)
49 {
51 }
52 long num = 0L;
53 if (buckets != null)
54 {
55 }
57 if (num != 0L)
58 {
59 int numEntries = this._numEntries;
61 }
63 }
64
65 // Token: 0x060030FA RID: 12538 RVA: 0x0006AD4C File Offset: 0x00068F4C
67 {
68 /*
69An exception occurred when decompiling this method (060030FA)
70
71ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.LowLevelDictionary`2/Entry<TKey,TValue> System.Collections.Generic.LowLevelDictionary`2::Find(TKey)
72
73 ---> System.Exception: Basic block has to end with unconditional control flow.
74{
75 Block_0:
76 stloc:class System.Collections.Generic.LowLevelDictionary`2/Entry[](var_0_06, ldfld:class System.Collections.Generic.LowLevelDictionary`2/Entry<!TKey, !TValue>[][exp:class System.Collections.Generic.LowLevelDictionary`2/Entry[]](LowLevelDictionary`2::_buckets, ldloc:LowLevelDictionary`2(this)))
77 stloc:IEqualityComparer`1(var_1_0D, ldfld:class System.Collections.Generic.IEqualityComparer`1<!TKey>[exp:IEqualityComparer`1](LowLevelDictionary`2::_comparer, ldloc:LowLevelDictionary`2(this)))
78}
79
80 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
81 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
82 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
83 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
84 --- End of inner exception stack trace ---
85 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
86 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
87*/;
88 }
89
90 // Token: 0x060030FB RID: 12539 RVA: 0x0006AD68 File Offset: 0x00068F68
92 {
95 LowLevelDictionary.Entry[] buckets = this._buckets;
96 if (this == null || this != null)
97 {
98 int numEntries = this._numEntries;
101 }
102 throw new ArrayTypeMismatchException();
103 }
104
105 // Token: 0x060030FC RID: 12540 RVA: 0x0006ADAC File Offset: 0x00068FAC
106 private void ExpandBuckets()
107 {
108 LowLevelDictionary.Entry[] buckets = this._buckets;
110 if (this != null)
111 {
113 this._buckets = this;
114 return;
115 }
116 throw new ArrayTypeMismatchException();
117 }
118
119 // Token: 0x060030FD RID: 12541 RVA: 0x0006ADEC File Offset: 0x00068FEC
120 private int GetBucket(TKey key, int numBuckets = 0)
121 {
122 /*
123An exception occurred when decompiling this method (060030FD)
124
125ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 System.Collections.Generic.LowLevelDictionary`2::GetBucket(TKey,System.Int32)
126
127 ---> System.Exception: Basic block has to end with unconditional control flow.
128{
129 Block_0:
130 stloc:class System.Collections.Generic.LowLevelDictionary`2/Entry[](var_1_10, ldfld:class System.Collections.Generic.LowLevelDictionary`2/Entry<!TKey, !TValue>[][exp:class System.Collections.Generic.LowLevelDictionary`2/Entry[]](LowLevelDictionary`2::_buckets, ldloc:LowLevelDictionary`2(this)))
131}
132
133 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
134 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
135 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
136 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
137 --- End of inner exception stack trace ---
138 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
139 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
140*/;
141 }
142
143 // Token: 0x04001A84 RID: 6788
145
146 // Token: 0x04001A85 RID: 6789
147 private int _numEntries;
148
149 // Token: 0x04001A86 RID: 6790
150 private int _version;
151
152 // Token: 0x04001A87 RID: 6791
154
155 // Token: 0x02000641 RID: 1601
156 private sealed class Entry
157 {
158 // Token: 0x060030FE RID: 12542 RVA: 0x0006AE0C File Offset: 0x0006900C
159 public Entry()
160 {
161 }
162
163 // Token: 0x04001A88 RID: 6792
164 public TKey _key;
165
166 // Token: 0x04001A89 RID: 6793
167 public TValue _value;
168
169 // Token: 0x04001A8A RID: 6794
171 }
172
173 // Token: 0x02000642 RID: 1602
174 private sealed class DefaultComparer<T> : IEqualityComparer<T>
175 {
176 // Token: 0x060030FF RID: 12543 RVA: 0x0006AE20 File Offset: 0x00069020
177 public bool Equals(T x, T y)
178 {
179 /*
180An exception occurred when decompiling this method (060030FF)
181
182ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Collections.Generic.LowLevelDictionary`2/DefaultComparer`1::Equals(T,T)
183
184 ---> System.Exception: Basic block has to end with unconditional control flow.
185{
186 IL_0000:
187 brtrue(IL_0000, logicnot:bool(ldloc:DefaultComparer`1[exp:bool](this)))
188}
189
190 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
191 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
192 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
193 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
194 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
195 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
196 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
197 --- End of inner exception stack trace ---
198 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
199 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
200*/;
201 }
202
203 // Token: 0x06003100 RID: 12544 RVA: 0x0000207A File Offset: 0x0000027A
204 public int GetHashCode(T obj)
205 {
206 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
207 }
208
209 // Token: 0x06003101 RID: 12545 RVA: 0x0006AE30 File Offset: 0x00069030
211 {
212 }
213 }
214 }
215}
class f__AnonymousType0<< Count > j__TPar
LowLevelDictionary< TKey, TValue >.Entry _next
LowLevelDictionary< TKey, TValue >.Entry Find(TKey key)
LowLevelDictionary< TKey, TValue >.Entry[] _buckets
LowLevelDictionary< TKey, TValue >.Entry UncheckedAdd(TKey key, TValue value)
LowLevelDictionary(int capacity, IEqualityComparer< TKey > comparer)