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
ConcurrentDictionary.cs
Go to the documentation of this file.
1using System;
10
12{
13 // Token: 0x02000616 RID: 1558
14 [DebuggerDisplay("Count = {Count}")]
17 public class ConcurrentDictionary<TKey, TValue> : IDictionary<TKey, TValue>, ICollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable, IDictionary, ICollection, IReadOnlyDictionary<TKey, TValue>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>
18 {
19 // Token: 0x06002F7A RID: 12154 RVA: 0x00068898 File Offset: 0x00066A98
20 private static bool IsValueWriteAtomic()
21 {
22 Type type;
23 bool isValueType = type.IsValueType;
24 TypeCode typeCode = Type.GetTypeCode(type);
25 return true;
26 }
27
28 // Token: 0x06002F7B RID: 12155 RVA: 0x000688C0 File Offset: 0x00066AC0
33
34 // Token: 0x06002F7C RID: 12156 RVA: 0x000688D4 File Offset: 0x00066AD4
39
40 // Token: 0x06002F7D RID: 12157 RVA: 0x000688E8 File Offset: 0x00066AE8
44
45 // Token: 0x06002F7E RID: 12158 RVA: 0x00068958 File Offset: 0x00066B58
47 {
48 long num = 0L;
49 if (comparer == null)
50 {
51 }
52 this._growLockArray = num != 0L;
53 }
54
55 // Token: 0x06002F7F RID: 12159 RVA: 0x00068984 File Offset: 0x00066B84
56 public bool TryAdd(TKey key, TValue value)
57 {
58 /*
59An exception occurred when decompiling this method (06002F7F)
60
61ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Collections.Concurrent.ConcurrentDictionary`2::TryAdd(TKey,TValue)
62
63 ---> System.Exception: Basic block has to end with unconditional control flow.
64{
65 Block_0:
66 stloc:IEqualityComparer`1(var_0_06, ldfld:class System.Collections.Generic.IEqualityComparer`1<!TKey>[exp:IEqualityComparer`1](ConcurrentDictionary`2::_comparer, ldloc:ConcurrentDictionary`2(this)))
67}
68
69 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
70 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
71 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
72 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
73 --- End of inner exception stack trace ---
74 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
75 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
76*/;
77 }
78
79 // Token: 0x06002F80 RID: 12160 RVA: 0x0000207A File Offset: 0x0000027A
80 public bool ContainsKey(TKey key)
81 {
82 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
83 }
84
85 // Token: 0x06002F81 RID: 12161 RVA: 0x0000207A File Offset: 0x0000027A
86 public bool TryRemove(TKey key, [Out] TValue value)
87 {
88 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
89 }
90
91 // Token: 0x06002F82 RID: 12162 RVA: 0x00068998 File Offset: 0x00066B98
92 private bool TryRemoveInternal(TKey key, [Out] TValue value, bool matchValue, TValue oldValue)
93 {
96 ConcurrentDictionary.Node[] buckets = tables._buckets;
97 object[] locks = tables._locks;
99 if (this == null)
100 {
101 }
102 object[] locks2 = tables._locks;
104 if (false)
105 {
107 }
108 if (11 != 0)
109 {
110 }
112 int[] countPerLock = tables._countPerLock;
113 if (false || !false)
114 {
115 }
116 throw new OutOfMemoryException();
117 }
118
119 // Token: 0x06002F83 RID: 12163 RVA: 0x00068A1C File Offset: 0x00066C1C
120 public bool TryGetValue(TKey key, [Out] TValue value)
121 {
122 /*
123An exception occurred when decompiling this method (06002F83)
124
125ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Collections.Concurrent.ConcurrentDictionary`2::TryGetValue(TKey,TValue)
126
127 ---> System.Exception: Basic block has to end with unconditional control flow.
128{
129 Block_0:
130 stloc:IEqualityComparer`1(var_0_06, ldfld:class System.Collections.Generic.IEqualityComparer`1<!TKey>[exp:IEqualityComparer`1](ConcurrentDictionary`2::_comparer, ldloc:ConcurrentDictionary`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: 0x06002F84 RID: 12164 RVA: 0x00068A30 File Offset: 0x00066C30
144 private bool TryGetValueInternal(TKey key, int hashcode, [Out] TValue value)
145 {
146 /*
147An exception occurred when decompiling this method (06002F84)
148
149ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Collections.Concurrent.ConcurrentDictionary`2::TryGetValueInternal(TKey,System.Int32,TValue)
150
151 ---> System.Exception: Basic block has to end with unconditional control flow.
152{
153 Block_0:
154 stloc:Tables(var_0_06, ldfld:class System.Collections.Concurrent.ConcurrentDictionary`2/Tables<!TKey, !TValue>[exp:Tables](ConcurrentDictionary`2::_tables, ldloc:ConcurrentDictionary`2(this)))
155 stloc:class System.Collections.Concurrent.ConcurrentDictionary`2/Node[](var_1_0D, ldfld:class System.Collections.Concurrent.ConcurrentDictionary`2/Node<!TKey, !TValue>[][exp:class System.Collections.Concurrent.ConcurrentDictionary`2/Node[]](Tables::_buckets, ldloc:Tables(var_0_06)))
156 stloc:class System.Collections.Concurrent.ConcurrentDictionary`2/Node[](var_2_14, ldfld:class System.Collections.Concurrent.ConcurrentDictionary`2/Node<!TKey, !TValue>[][exp:class System.Collections.Concurrent.ConcurrentDictionary`2/Node[]](Tables::_buckets, ldloc:Tables(var_0_06)))
157 stloc:IEqualityComparer`1(var_3_1B, ldfld:class System.Collections.Generic.IEqualityComparer`1<!TKey>[exp:IEqualityComparer`1](ConcurrentDictionary`2::_comparer, ldloc:ConcurrentDictionary`2(this)))
158}
159
160 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
161 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
162 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
163 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
164 --- End of inner exception stack trace ---
165 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
166 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
167*/;
168 }
169
170 // Token: 0x06002F85 RID: 12165 RVA: 0x00068A5C File Offset: 0x00066C5C
171 public void Clear()
172 {
173 object[] locks = this._tables._locks;
176 if (!false)
177 {
178 return;
179 }
180 throw new OutOfMemoryException();
181 }
182
183 // Token: 0x06002F86 RID: 12166 RVA: 0x00068AB0 File Offset: 0x00066CB0
185 {
186 if (array != null)
187 {
188 object[] locks = this._tables._locks;
190 return;
191 }
192 }
193
194 // Token: 0x06002F87 RID: 12167 RVA: 0x00068AF8 File Offset: 0x00066CF8
196 {
197 long num = 0L;
198 object[] locks = this._tables._locks;
200 if (num != 0L)
201 {
202 }
203 if (!false)
204 {
205 throw new OverflowException();
206 }
207 throw new OutOfMemoryException();
208 }
209
210 // Token: 0x06002F88 RID: 12168 RVA: 0x00068B44 File Offset: 0x00066D44
212 {
213 ConcurrentDictionary.Node[] buckets = this._tables._buckets;
214 }
215
216 // Token: 0x06002F89 RID: 12169 RVA: 0x00068B60 File Offset: 0x00066D60
218 {
219 ConcurrentDictionary.Node[] buckets = this._tables._buckets;
220 }
221
222 // Token: 0x06002F8A RID: 12170 RVA: 0x00068B7C File Offset: 0x00066D7C
223 private void CopyToObjects(object[] array, int index)
224 {
225 ConcurrentDictionary.Node[] buckets = this._tables._buckets;
226 if (this == null || this != null)
227 {
228 return;
229 }
230 throw new ArrayTypeMismatchException();
231 }
232
233 // Token: 0x06002F8B RID: 12171 RVA: 0x0000207A File Offset: 0x0000027A
235 {
236 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
237 }
238
239 // Token: 0x06002F8C RID: 12172 RVA: 0x00068BA4 File Offset: 0x00066DA4
240 private bool TryAddInternal(TKey key, int hashcode, TValue value, bool updateIfExists, bool acquireLock, [Out] TValue resultingValue)
241 {
242 int num = 1;
244 ConcurrentDictionary.Node[] buckets = tables._buckets;
245 object[] locks = tables._locks;
246 if (num == 0)
247 {
248 }
249 object[] locks2 = tables._locks;
251 long num2 = 0L;
253 long num3 = 0L;
255 if (num2 != 0L)
256 {
257 comparer = this._comparer;
258 }
261 int[] countPerLock = tables._countPerLock;
262 int[] countPerLock2 = tables._countPerLock;
263 long num4 = 0L;
264 object[] locks3;
265 if (buckets3 != null)
266 {
267 locks3 = tables._locks;
268 }
269 if (num4 == 0L)
270 {
271 if (locks3 == null)
272 {
273 }
274 if (false)
275 {
276 }
278 throw new OverflowException();
279 }
280 throw new OutOfMemoryException();
281 }
282
283 // Token: 0x17000784 RID: 1924
284 public TValue this[TKey key]
285 {
286 get
287 {
288 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
289 }
290 set
291 {
293 }
294 }
295
296 // Token: 0x06002F8F RID: 12175 RVA: 0x0000207A File Offset: 0x0000027A
297 private static void ThrowKeyNotFoundException(object key)
298 {
299 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
300 }
301
302 // Token: 0x06002F90 RID: 12176 RVA: 0x0000207A File Offset: 0x0000027A
303 private static void ThrowKeyNullException()
304 {
305 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
306 }
307
308 // Token: 0x17000785 RID: 1925
309 // (get) Token: 0x06002F91 RID: 12177 RVA: 0x00068C80 File Offset: 0x00066E80
310 public int Count
311 {
312 get
313 {
314 if (!false)
315 {
316 }
317 throw new OutOfMemoryException();
318 }
319 }
320
321 // Token: 0x06002F92 RID: 12178 RVA: 0x00068CA4 File Offset: 0x00066EA4
322 private int GetCountInternal()
323 {
324 /*
325An exception occurred when decompiling this method (06002F92)
326
327ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 System.Collections.Concurrent.ConcurrentDictionary`2::GetCountInternal()
328
329 ---> System.Exception: Basic block has to end with unconditional control flow.
330{
331 Block_0:
332 stloc:int32[](var_0_0B, ldfld:int32[](Tables::_countPerLock, ldfld:class System.Collections.Concurrent.ConcurrentDictionary`2/Tables<!TKey, !TValue>[exp:Tables](ConcurrentDictionary`2::_tables, ldloc:ConcurrentDictionary`2(this))))
333 stloc:int32[](var_2_19, ldfld:int32[](Tables::_countPerLock, ldfld:class System.Collections.Concurrent.ConcurrentDictionary`2/Tables<!TKey, !TValue>[exp:Tables](ConcurrentDictionary`2::_tables, ldloc:ConcurrentDictionary`2(this))))
334 stloc:int32[](var_3_25, ldfld:int32[](Tables::_countPerLock, ldfld:class System.Collections.Concurrent.ConcurrentDictionary`2/Tables<!TKey, !TValue>[exp:Tables](ConcurrentDictionary`2::_tables, ldloc:ConcurrentDictionary`2(this))))
335}
336
337 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
338 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
339 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
340 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
341 --- End of inner exception stack trace ---
342 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
343 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
344*/;
345 }
346
347 // Token: 0x06002F93 RID: 12179 RVA: 0x00068CDC File Offset: 0x00066EDC
349 {
350 /*
351An exception occurred when decompiling this method (06002F93)
352
353ICSharpCode.Decompiler.DecompilerException: Error decompiling TValue System.Collections.Concurrent.ConcurrentDictionary`2::GetOrAdd(TKey,System.Func`2<TKey,TValue>)
354
355 ---> System.Exception: Basic block has to end with unconditional control flow.
356{
357 Block_0:
358 stloc:IEqualityComparer`1(var_0_09, ldfld:class System.Collections.Generic.IEqualityComparer`1<!TKey>[exp:IEqualityComparer`1](ConcurrentDictionary`2::_comparer, ldloc:ConcurrentDictionary`2(this)))
359}
360
361 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
362 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
363 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
364 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
365 --- End of inner exception stack trace ---
366 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
367 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
368*/;
369 }
370
371 // Token: 0x06002F94 RID: 12180 RVA: 0x00068CF4 File Offset: 0x00066EF4
372 public TValue GetOrAdd(TKey key, TValue value)
373 {
374 /*
375An exception occurred when decompiling this method (06002F94)
376
377ICSharpCode.Decompiler.DecompilerException: Error decompiling TValue System.Collections.Concurrent.ConcurrentDictionary`2::GetOrAdd(TKey,TValue)
378
379 ---> System.Exception: Basic block has to end with unconditional control flow.
380{
381 Block_0:
382 stloc:IEqualityComparer`1(var_0_06, ldfld:class System.Collections.Generic.IEqualityComparer`1<!TKey>[exp:IEqualityComparer`1](ConcurrentDictionary`2::_comparer, ldloc:ConcurrentDictionary`2(this)))
383}
384
385 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
386 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
387 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
388 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
389 --- End of inner exception stack trace ---
390 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
391 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
392*/;
393 }
394
395 // Token: 0x06002F95 RID: 12181 RVA: 0x00068D08 File Offset: 0x00066F08
397 {
398 }
399
400 // Token: 0x06002F96 RID: 12182 RVA: 0x0000207A File Offset: 0x0000027A
402 {
403 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
404 }
405
406 // Token: 0x17000786 RID: 1926
407 // (get) Token: 0x06002F97 RID: 12183 RVA: 0x0000207A File Offset: 0x0000027A
409 {
410 get
411 {
412 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
413 }
414 }
415
416 // Token: 0x17000787 RID: 1927
417 // (get) Token: 0x06002F98 RID: 12184 RVA: 0x0000207A File Offset: 0x0000027A
419 {
420 get
421 {
422 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
423 }
424 }
425
426 // Token: 0x06002F99 RID: 12185 RVA: 0x00068D18 File Offset: 0x00066F18
430
431 // Token: 0x06002F9A RID: 12186 RVA: 0x00068D28 File Offset: 0x00066F28
435
436 // Token: 0x17000788 RID: 1928
437 // (get) Token: 0x06002F9B RID: 12187 RVA: 0x00068D38 File Offset: 0x00066F38
439 {
440 get
441 {
442 }
443 }
444
445 // Token: 0x06002F9C RID: 12188 RVA: 0x0000207A File Offset: 0x0000027A
447 {
448 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
449 }
450
451 // Token: 0x06002F9D RID: 12189 RVA: 0x0000207A File Offset: 0x0000027A
453 {
454 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
455 }
456
457 // Token: 0x06002F9E RID: 12190 RVA: 0x00068D48 File Offset: 0x00066F48
458 void IDictionary.Add(object key, object value)
459 {
460 if (key == null)
461 {
462 }
463 if (key == null)
464 {
465 return;
466 }
467 if (value != null && value == null)
468 {
469 throw new InvalidCastException();
470 }
471 }
472
473 // Token: 0x06002F9F RID: 12191 RVA: 0x00068D74 File Offset: 0x00066F74
475 {
476 if (key == null)
477 {
478 }
479 if (key != null)
480 {
481 }
482 throw new InvalidCastException();
483 }
484
485 // Token: 0x06002FA0 RID: 12192 RVA: 0x0000207A File Offset: 0x0000027A
487 {
488 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
489 }
490
491 // Token: 0x17000789 RID: 1929
492 // (get) Token: 0x06002FA1 RID: 12193 RVA: 0x00068D8C File Offset: 0x00066F8C
494 {
495 get
496 {
497 }
498 }
499
500 // Token: 0x1700078A RID: 1930
501 // (get) Token: 0x06002FA2 RID: 12194 RVA: 0x00068D9C File Offset: 0x00066F9C
503 {
504 get
505 {
506 }
507 }
508
509 // Token: 0x1700078B RID: 1931
510 // (get) Token: 0x06002FA3 RID: 12195 RVA: 0x0000207A File Offset: 0x0000027A
512 {
513 get
514 {
515 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
516 }
517 }
518
519 // Token: 0x06002FA4 RID: 12196 RVA: 0x00068DAC File Offset: 0x00066FAC
520 void IDictionary.Remove(object key)
521 {
522 if (key == null)
523 {
524 }
525 if (key != null)
526 {
527 }
528 }
529
530 // Token: 0x1700078C RID: 1932
531 // (get) Token: 0x06002FA5 RID: 12197 RVA: 0x0000207A File Offset: 0x0000027A
533 {
534 get
535 {
536 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
537 }
538 }
539
540 // Token: 0x1700078D RID: 1933
541 object IDictionary.this[object key]
542 {
543 get
544 {
545 if (key == null)
546 {
547 }
548 if (key != null)
549 {
550 }
551 throw new InvalidCastException();
552 }
553 set
554 {
555 if (key == null)
556 {
557 }
558 if (key == null)
559 {
560 return;
561 }
562 if (value == null)
563 {
564 throw new InvalidCastException();
565 }
566 if (value != null && value == null)
567 {
568 throw new InvalidCastException();
569 }
570 }
571 }
572
573 // Token: 0x06002FA8 RID: 12200 RVA: 0x00068E0C File Offset: 0x0006700C
575 {
576 if (array != null)
577 {
579 object[] locks = tables._locks;
580 int[] countPerLock = tables._countPerLock;
581 object[] locks2 = tables._locks;
582 return;
583 }
584 }
585
586 // Token: 0x1700078E RID: 1934
587 // (get) Token: 0x06002FA9 RID: 12201 RVA: 0x00068E70 File Offset: 0x00067070
589 {
590 get
591 {
592 }
593 }
594
595 // Token: 0x1700078F RID: 1935
596 // (get) Token: 0x06002FAA RID: 12202 RVA: 0x0000207A File Offset: 0x0000027A
598 {
599 get
600 {
601 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
602 }
603 }
604
605 // Token: 0x06002FAB RID: 12203 RVA: 0x00068E80 File Offset: 0x00067080
610
611 // Token: 0x06002FAC RID: 12204 RVA: 0x0000207A File Offset: 0x0000027A
612 private static int GetBucket(int hashcode, int bucketCount)
613 {
614 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
615 }
616
617 // Token: 0x06002FAD RID: 12205 RVA: 0x00068F70 File Offset: 0x00067170
618 private static void GetBucketAndLockNo(int hashcode, [Out] int bucketNo, [Out] int lockNo, int bucketCount, int lockCount)
619 {
620 }
621
622 // Token: 0x17000790 RID: 1936
623 // (get) Token: 0x06002FAE RID: 12206 RVA: 0x00068F80 File Offset: 0x00067180
624 private static int DefaultConcurrencyLevel
625 {
626 get
627 {
628 if (!true)
629 {
630 }
632 }
633 }
634
635 // Token: 0x06002FAF RID: 12207 RVA: 0x00068F98 File Offset: 0x00067198
637 {
638 if (!true)
639 {
640 }
641 if (!true)
642 {
643 }
644 ConcurrentDictionary.Node[] buckets = this._tables._buckets;
645 object[] locks = this._tables._locks;
646 }
647
648 // Token: 0x06002FB0 RID: 12208 RVA: 0x00068FC8 File Offset: 0x000671C8
650 {
651 object[] locks = this._tables._locks;
652 long num = 0L;
653 if (locks != null)
654 {
655 }
656 if (num == 0L)
657 {
658 return;
659 }
660 throw new OutOfMemoryException();
661 }
662
663 // Token: 0x06002FB1 RID: 12209 RVA: 0x00069000 File Offset: 0x00067200
665 {
666 object[] locks = this._tables._locks;
667 Monitor.Exit(this);
668 }
669
670 // Token: 0x06002FB2 RID: 12210 RVA: 0x00069020 File Offset: 0x00067220
672 {
673 ConcurrentDictionary.Node[] buckets = this._tables._buckets;
676 if (tables != null)
677 {
679 int[] countPerLock = tables._countPerLock;
680 }
681 if (!false)
682 {
683 }
684 throw new OutOfMemoryException();
685 }
686
687 // Token: 0x06002FB3 RID: 12211 RVA: 0x00069070 File Offset: 0x00067270
689 {
690 ConcurrentDictionary.Node[] buckets = this._tables._buckets;
693 if (tables != null)
694 {
695 object[] locks = tables._locks;
696 int[] countPerLock = tables._countPerLock;
697 }
698 if (!false)
699 {
700 }
701 throw new OutOfMemoryException();
702 }
703
704 // Token: 0x06002FB4 RID: 12212 RVA: 0x000690C0 File Offset: 0x000672C0
706 private void OnSerializing(StreamingContext context)
707 {
710 object[] locks = tables._locks;
711 ConcurrentDictionary.Node[] buckets = tables._buckets;
712 }
713
714 // Token: 0x06002FB5 RID: 12213 RVA: 0x000690EC File Offset: 0x000672EC
716 private void OnSerialized(StreamingContext context)
717 {
718 }
719
720 // Token: 0x06002FB6 RID: 12214 RVA: 0x000690FC File Offset: 0x000672FC
722 private void OnDeserialized(StreamingContext context)
723 {
724 }
725
726 // Token: 0x06002FB7 RID: 12215 RVA: 0x00069114 File Offset: 0x00067314
727 // Note: this type is marked as 'beforefieldinit'.
729 {
730 }
731
732 // Token: 0x04001A2B RID: 6699
735
736 // Token: 0x04001A2C RID: 6700
738
739 // Token: 0x04001A2D RID: 6701
742
743 // Token: 0x04001A2E RID: 6702
745 private int _budget;
746
747 // Token: 0x04001A2F RID: 6703
749
750 // Token: 0x04001A30 RID: 6704
752
753 // Token: 0x04001A31 RID: 6705
755
756 // Token: 0x04001A32 RID: 6706
757 private static readonly bool s_isValueWriteAtomic;
758
759 // Token: 0x02000617 RID: 1559
760 private sealed class Tables
761 {
762 // Token: 0x06002FB8 RID: 12216 RVA: 0x00069124 File Offset: 0x00067324
764 {
765 this._buckets = buckets;
768 }
769
770 // Token: 0x04001A33 RID: 6707
772
773 // Token: 0x04001A34 RID: 6708
774 internal readonly object[] _locks;
775
776 // Token: 0x04001A35 RID: 6709
777 internal int[] _countPerLock;
778 }
779
780 // Token: 0x02000618 RID: 1560
781 [Serializable]
782 private sealed class Node
783 {
784 // Token: 0x06002FB9 RID: 12217 RVA: 0x0006914C File Offset: 0x0006734C
786 {
787 this._key = key;
789 this._next = next;
791 }
792
793 // Token: 0x04001A36 RID: 6710
794 internal readonly TKey _key;
795
796 // Token: 0x04001A37 RID: 6711
797 internal TValue _value;
798
799 // Token: 0x04001A38 RID: 6712
801
802 // Token: 0x04001A39 RID: 6713
803 internal readonly int _hashcode;
804 }
805
806 // Token: 0x02000619 RID: 1561
807 [Serializable]
809 {
810 // Token: 0x06002FBA RID: 12218 RVA: 0x0006917C File Offset: 0x0006737C
815
816 // Token: 0x17000791 RID: 1937
817 // (get) Token: 0x06002FBB RID: 12219 RVA: 0x00069198 File Offset: 0x00067398
819 {
820 get
821 {
822 /*
823An exception occurred when decompiling this method (06002FBB)
824
825ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.DictionaryEntry System.Collections.Concurrent.ConcurrentDictionary`2/DictionaryEnumerator::get_Entry()
826
827 ---> System.Exception: Basic block has to end with unconditional control flow.
828{
829 Block_0:
830 stloc:IEnumerator`1(var_0_06, ldfld:class System.Collections.Generic.IEnumerator`1<valuetype System.Collections.Generic.KeyValuePair`2<!TKey, !TValue>>[exp:IEnumerator`1](DictionaryEnumerator::_enumerator, ldloc:DictionaryEnumerator(this)))
831 stloc:IEnumerator`1(var_1_0D, ldfld:class System.Collections.Generic.IEnumerator`1<valuetype System.Collections.Generic.KeyValuePair`2<!TKey, !TValue>>[exp:IEnumerator`1](DictionaryEnumerator::_enumerator, ldloc:DictionaryEnumerator(this)))
832}
833
834 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
835 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
836 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
837 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
838 --- End of inner exception stack trace ---
839 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
840 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
841*/;
842 }
843 }
844
845 // Token: 0x17000792 RID: 1938
846 // (get) Token: 0x06002FBC RID: 12220 RVA: 0x000691B4 File Offset: 0x000673B4
847 public object Key
848 {
849 get
850 {
851 /*
852An exception occurred when decompiling this method (06002FBC)
853
854ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Object System.Collections.Concurrent.ConcurrentDictionary`2/DictionaryEnumerator::get_Key()
855
856 ---> System.Exception: Basic block has to end with unconditional control flow.
857{
858 Block_0:
859 stloc:IEnumerator`1(var_0_06, ldfld:class System.Collections.Generic.IEnumerator`1<valuetype System.Collections.Generic.KeyValuePair`2<!TKey, !TValue>>[exp:IEnumerator`1](DictionaryEnumerator::_enumerator, ldloc:DictionaryEnumerator(this)))
860}
861
862 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
863 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
864 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
865 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
866 --- End of inner exception stack trace ---
867 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
868 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
869*/;
870 }
871 }
872
873 // Token: 0x17000793 RID: 1939
874 // (get) Token: 0x06002FBD RID: 12221 RVA: 0x000691C8 File Offset: 0x000673C8
875 public object Value
876 {
877 get
878 {
879 /*
880An exception occurred when decompiling this method (06002FBD)
881
882ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Object System.Collections.Concurrent.ConcurrentDictionary`2/DictionaryEnumerator::get_Value()
883
884 ---> System.Exception: Basic block has to end with unconditional control flow.
885{
886 Block_0:
887 stloc:IEnumerator`1(var_0_06, ldfld:class System.Collections.Generic.IEnumerator`1<valuetype System.Collections.Generic.KeyValuePair`2<!TKey, !TValue>>[exp:IEnumerator`1](DictionaryEnumerator::_enumerator, ldloc:DictionaryEnumerator(this)))
888}
889
890 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
891 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
892 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
893 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
894 --- End of inner exception stack trace ---
895 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
896 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
897*/;
898 }
899 }
900
901 // Token: 0x17000794 RID: 1940
902 // (get) Token: 0x06002FBE RID: 12222 RVA: 0x0000207A File Offset: 0x0000027A
903 public object Current
904 {
905 get
906 {
907 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
908 }
909 }
910
911 // Token: 0x06002FBF RID: 12223 RVA: 0x000691DC File Offset: 0x000673DC
912 public bool MoveNext()
913 {
914 /*
915An exception occurred when decompiling this method (06002FBF)
916
917ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Collections.Concurrent.ConcurrentDictionary`2/DictionaryEnumerator::MoveNext()
918
919 ---> System.Exception: Basic block has to end with unconditional control flow.
920{
921 Block_0:
922 stloc:IEnumerator`1(var_0_06, ldfld:class System.Collections.Generic.IEnumerator`1<valuetype System.Collections.Generic.KeyValuePair`2<!TKey, !TValue>>[exp:IEnumerator`1](DictionaryEnumerator::_enumerator, ldloc:DictionaryEnumerator(this)))
923}
924
925 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
926 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
927 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
928 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
929 --- End of inner exception stack trace ---
930 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
931 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
932*/;
933 }
934
935 // Token: 0x06002FC0 RID: 12224 RVA: 0x000691F0 File Offset: 0x000673F0
936 public void Reset()
937 {
938 IEnumerator enumerator = this._enumerator;
939 }
940
941 // Token: 0x04001A3A RID: 6714
943 }
944
945 // Token: 0x0200061A RID: 1562
948 {
949 // Token: 0x06002FC1 RID: 12225 RVA: 0x00069208 File Offset: 0x00067408
952 {
953 this.<>1__state = <>1__state;
954 }
955
956 // Token: 0x06002FC2 RID: 12226 RVA: 0x00069224 File Offset: 0x00067424
958 void IDisposable.Dispose()
959 {
960 }
961
962 // Token: 0x06002FC3 RID: 12227 RVA: 0x00069234 File Offset: 0x00067434
963 private bool MoveNext()
964 {
965 /*
966An exception occurred when decompiling this method (06002FC3)
967
968ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Collections.Concurrent.ConcurrentDictionary`2/<GetEnumerator>d__35::MoveNext()
969
970 ---> System.Exception: Basic block has to end with unconditional control flow.
971{
972 IL_0016:
973 stloc:int32(var_2_19, ldc.i4:int32(1))
974 stfld:int32('<GetEnumerator>d__35'::<>1__state, ldloc:'<GetEnumerator>d__35'(this), ldloc:int32(var_2_19))
975}
976
977 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
978 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
979 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
980 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
981 --- End of inner exception stack trace ---
982 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
983 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
984*/;
985 }
986
987 // Token: 0x17000795 RID: 1941
988 // (get) Token: 0x06002FC4 RID: 12228 RVA: 0x0000207A File Offset: 0x0000027A
990 {
992 get
993 {
994 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
995 }
996 }
997
998 // Token: 0x06002FC5 RID: 12229 RVA: 0x0000207A File Offset: 0x0000027A
1000 void IEnumerator.Reset()
1001 {
1002 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1003 }
1004
1005 // Token: 0x17000796 RID: 1942
1006 // (get) Token: 0x06002FC6 RID: 12230 RVA: 0x0000207A File Offset: 0x0000027A
1007 object IEnumerator.Current
1008 {
1010 get
1011 {
1012 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1013 }
1014 }
1015
1016 // Token: 0x04001A3B RID: 6715
1017 private int <>1__state;
1018
1019 // Token: 0x04001A3C RID: 6716
1021
1022 // Token: 0x04001A3D RID: 6717
1024
1025 // Token: 0x04001A3E RID: 6718
1026 private ConcurrentDictionary<TKey, TValue>.Node[] <buckets>5__2;
1027
1028 // Token: 0x04001A3F RID: 6719
1029 private int <i>5__3;
1030
1031 // Token: 0x04001A40 RID: 6720
1033 }
1034 }
1035}
class f__AnonymousType0<< Count > j__TPar
DictionaryEnumerator(ConcurrentDictionary< TKey, TValue > dictionary)
Node(TKey key, TValue value, int hashcode, ConcurrentDictionary< TKey, TValue >.Node next)
readonly ConcurrentDictionary< TKey, TValue >.Node[] _buckets
Tables(ConcurrentDictionary< TKey, TValue >.Node[] buckets, object[] locks, int[] countPerLock)
void CopyToPairs(KeyValuePair< TKey, TValue >[] array, int index)
static void GetBucketAndLockNo(int hashcode, [Out] int bucketNo, [Out] int lockNo, int bucketCount, int lockCount)
bool TryAddInternal(TKey key, int hashcode, TValue value, bool updateIfExists, bool acquireLock, [Out] TValue resultingValue)
bool TryRemoveInternal(TKey key, [Out] TValue value, bool matchValue, TValue oldValue)
static int GetBucket(int hashcode, int bucketCount)
IEnumerator< KeyValuePair< TKey, TValue > > GetEnumerator()
void CopyToEntries(DictionaryEntry[] array, int index)
void GrowTable(ConcurrentDictionary< TKey, TValue >.Tables tables)
bool TryGetValueInternal(TKey key, int hashcode, [Out] TValue value)
void AcquireLocks(int fromInclusive, int toExclusive, int locksAcquired)
void InitializeFromCollection(IEnumerable< KeyValuePair< TKey, TValue > > collection)
void ReleaseLocks(int fromInclusive, int toExclusive)
ConcurrentDictionary< TKey, TValue >.Tables _tables
ConcurrentDictionary(IEqualityComparer< TKey > comparer)
ConcurrentDictionary(int concurrencyLevel, int capacity, bool growLockArray, IEqualityComparer< TKey > comparer)
TValue GetOrAdd(TKey key, Func< TKey, TValue > valueFactory)
static void Exit(object obj)
Definition Monitor.cs:47
bool IsValueType
Definition Type.cs:793
static TypeCode GetTypeCode(Type type)
Definition Type.cs:1110
void CopyTo(Array array, int index)
IDictionaryEnumerator GetEnumerator()
void Add(object key, object value)
TypeCode
Definition TypeCode.cs:7
readonly StreamingContextStates m_state