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
ConditionalWeakTable.cs
Go to the documentation of this file.
1using System;
7
9{
10 // Token: 0x020004A0 RID: 1184
11 public sealed class ConditionalWeakTable<TKey, TValue> : IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable where TKey : class where TValue : class
12 {
13 // Token: 0x06002291 RID: 8849 RVA: 0x0004DB2C File Offset: 0x0004BD2C
15 {
16 if (!true)
17 {
18 }
19 }
20
21 // Token: 0x06002292 RID: 8850 RVA: 0x0004DB44 File Offset: 0x0004BD44
22 protected override void Finalize()
23 {
24 base.Finalize();
25 }
26
27 // Token: 0x06002293 RID: 8851 RVA: 0x0004DB58 File Offset: 0x0004BD58
28 private void RehashWithoutResize()
29 {
30 Ephemeron[] array = this.data;
31 Ephemeron[] array2 = this.data;
32 Ephemeron[] array3 = this.data;
33 }
34
35 // Token: 0x06002294 RID: 8852 RVA: 0x0004DB90 File Offset: 0x0004BD90
36 private void RecomputeSize()
37 {
38 Ephemeron[] array = this.data;
39 long num = 0L;
40 this.size = (int)num;
41 }
42
43 // Token: 0x06002295 RID: 8853 RVA: 0x0004DBB0 File Offset: 0x0004BDB0
44 private void Rehash()
45 {
46 int num = 1;
47 int num2 = this.size;
48 if (num == 0)
49 {
50 }
51 int prime = HashHelpers.GetPrime(int.MinValue);
52 Ephemeron[] array = this.data;
53 }
54
55 // Token: 0x06002296 RID: 8854 RVA: 0x0004DC14 File Offset: 0x0004BE14
56 public void Add(TKey key, TValue value)
57 {
58 if (key != null)
59 {
60 object @lock = this._lock;
61 Ephemeron[] array = this.data;
62 int num = this.size;
63 Ephemeron[] array2 = this.data;
64 Ephemeron[] array3 = this.data;
65 if (array2 == null)
66 {
67 }
68 Ephemeron[] array4 = this.data;
69 return;
70 }
71 throw new OutOfMemoryException();
72 }
73
74 // Token: 0x06002297 RID: 8855 RVA: 0x0004DC94 File Offset: 0x0004BE94
75 public bool Remove(TKey key)
76 {
77 if (key != null)
78 {
79 object @lock = this._lock;
80 Ephemeron[] array = this.data;
81 Ephemeron[] array2 = this.data;
82 long num = 0L;
83 if (array2 != null)
84 {
86 }
87 if (num == 0L)
88 {
89 }
90 }
91 throw new OutOfMemoryException();
92 }
93
94 // Token: 0x06002298 RID: 8856 RVA: 0x0004DCFC File Offset: 0x0004BEFC
95 public bool TryGetValue(TKey key, [Out] TValue value)
96 {
97 if (key != null)
98 {
99 object @lock = this._lock;
100 Ephemeron[] array = this.data;
101 Ephemeron[] array2 = this.data;
102 long num = 0L;
103 int num2 = 9;
104 long num3;
105 if (num2 != 0)
106 {
107 if (num2 == 0)
108 {
109 throw new InvalidCastException();
110 }
111 }
112 else
113 {
114 num3 = 0L;
115 }
117 if (num2 != 0 && num2 == 0)
118 {
119 throw new InvalidCastException();
120 }
121 long num4 = 0L;
122 if (array2 != null)
123 {
124 Monitor.Exit(@lock);
125 }
126 if (num4 == 0L)
127 {
128 }
129 }
130 throw new OutOfMemoryException();
131 }
132
133 // Token: 0x06002299 RID: 8857 RVA: 0x0004DD78 File Offset: 0x0004BF78
135 {
136 if (createValueCallback != null)
137 {
138 object @lock = this._lock;
139 long num = 0L;
140 Monitor.Exit(@lock);
141 if (num != 0L || 7 == 0)
142 {
143 }
144 }
145 throw new OutOfMemoryException();
146 }
147
148 // Token: 0x0600229A RID: 8858 RVA: 0x0004DDD0 File Offset: 0x0004BFD0
150 {
151 object @lock = this._lock;
152 int num = this.size;
153 if (num != 0)
154 {
155 }
156 if (num != 0)
157 {
158 }
159 long num2 = 0L;
160 Monitor.Exit(@lock);
161 if (num2 == 0L)
162 {
163 }
164 throw new OutOfMemoryException();
165 }
166
167 // Token: 0x0600229B RID: 8859 RVA: 0x0000207A File Offset: 0x0000027A
169 {
170 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
171 }
172
173 // Token: 0x040012EC RID: 4844
174 private const int INITIAL_SIZE = 13;
175
176 // Token: 0x040012ED RID: 4845
177 private const float LOAD_FACTOR = 0.7f;
178
179 // Token: 0x040012EE RID: 4846
180 private const float COMPACT_FACTOR = 0.5f;
181
182 // Token: 0x040012EF RID: 4847
183 private const float EXPAND_FACTOR = 1.1f;
184
185 // Token: 0x040012F0 RID: 4848
186 private Ephemeron[] data;
187
188 // Token: 0x040012F1 RID: 4849
189 private object _lock;
190
191 // Token: 0x040012F2 RID: 4850
192 private int size;
193
194 // Token: 0x020004A1 RID: 1185
196 {
197 // Token: 0x0600229C RID: 8860 RVA: 0x0004DE1C File Offset: 0x0004C01C
198 public CreateValueCallback(object @object, IntPtr method)
199 {
200 }
201
202 // Token: 0x0600229D RID: 8861 RVA: 0x0000207A File Offset: 0x0000027A
203 public TValue Invoke(TKey key)
204 {
205 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
206 }
207 }
208
209 // Token: 0x020004A2 RID: 1186
210 private sealed class Enumerator : IEnumerator<KeyValuePair<TKey, TValue>>, IDisposable, IEnumerator
211 {
212 // Token: 0x0600229E RID: 8862 RVA: 0x0004DE3C File Offset: 0x0004C03C
214 {
215 this._table = table;
216 }
217
218 // Token: 0x0600229F RID: 8863 RVA: 0x0004DE58 File Offset: 0x0004C058
219 protected override void Finalize()
220 {
221 base.Finalize();
222 }
223
224 // Token: 0x060022A0 RID: 8864 RVA: 0x0000207A File Offset: 0x0000027A
225 public void Dispose()
226 {
227 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
228 }
229
230 // Token: 0x060022A1 RID: 8865 RVA: 0x0004DE8C File Offset: 0x0004C08C
231 public bool MoveNext()
232 {
233 int num = 1;
234 ConditionalWeakTable table = this._table;
235 object @lock;
236 Ephemeron[] data;
237 if (table != null)
238 {
239 @lock = table._lock;
240 if (num == 0)
241 {
242 }
243 data = table.data;
244 int currentIndex = this._currentIndex;
245 this._currentIndex = currentIndex;
246 if (data.value == null)
247 {
248 throw new InvalidCastException();
249 }
250 if (table != null && table == null)
251 {
252 throw new InvalidCastException();
253 }
254 }
255 long num2 = 0L;
256 if (data != null)
257 {
258 Monitor.Exit(@lock);
259 }
260 if (num2 == 0L)
261 {
262 }
263 throw new OutOfMemoryException();
264 }
265
266 // Token: 0x1700047C RID: 1148
267 // (get) Token: 0x060022A2 RID: 8866 RVA: 0x0000207A File Offset: 0x0000027A
269 {
270 get
271 {
272 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
273 }
274 }
275
276 // Token: 0x1700047D RID: 1149
277 // (get) Token: 0x060022A3 RID: 8867 RVA: 0x0000207A File Offset: 0x0000027A
279 {
280 get
281 {
282 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
283 }
284 }
285
286 // Token: 0x060022A4 RID: 8868 RVA: 0x0004DF14 File Offset: 0x0004C114
287 public void Reset()
288 {
289 }
290
291 // Token: 0x040012F3 RID: 4851
293
294 // Token: 0x040012F4 RID: 4852
295 private int _currentIndex;
296
297 // Token: 0x040012F5 RID: 4853
299 }
300 }
301}
class f__AnonymousType0<< Count > j__TPar
static int GetPrime(int min)
TValue GetValue(TKey key, ConditionalWeakTable< TKey, TValue >.CreateValueCallback createValueCallback)
static void Exit(object obj)
Definition Monitor.cs:47