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
KeyedCollection.cs
Go to the documentation of this file.
1using System;
6
8{
9 // Token: 0x02000620 RID: 1568
10 [DebuggerDisplay("Count = {Count}")]
13 public abstract class KeyedCollection<TKey, TItem> : Collection<TItem>
14 {
15 // Token: 0x0600300B RID: 12299 RVA: 0x000699A0 File Offset: 0x00067BA0
16 protected KeyedCollection()
17 {
18 }
19
20 // Token: 0x0600300C RID: 12300 RVA: 0x000699B0 File Offset: 0x00067BB0
24
25 // Token: 0x0600300D RID: 12301 RVA: 0x000699C0 File Offset: 0x00067BC0
27 {
30 if (comparer == null)
31 {
32 }
33 this.dict = this;
34 }
35
36 // Token: 0x170007A9 RID: 1961
37 // (get) Token: 0x0600300E RID: 12302 RVA: 0x000699E8 File Offset: 0x00067BE8
38 private new List<TItem> Items
39 {
40 get
41 {
42 if (this != null)
43 {
44 }
45 throw new InvalidCastException();
46 }
47 }
48
49 // Token: 0x170007AA RID: 1962
50 public TItem this[TKey key]
51 {
52 get
53 {
54 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
55 }
56 }
57
58 // Token: 0x06003010 RID: 12304 RVA: 0x00069A00 File Offset: 0x00067C00
59 public bool Contains(TKey key)
60 {
61 if (key != null)
62 {
63 if (this.keyCount != 0)
64 {
65 }
67 if (!false)
68 {
69 }
70 }
71 throw new OutOfMemoryException();
72 }
73
74 // Token: 0x06003011 RID: 12305 RVA: 0x00069A38 File Offset: 0x00067C38
75 public bool TryGetValue(TKey key, [Out] TItem item)
76 {
77 if (key != null)
78 {
79 int num = this.keyCount;
80 if (num != 0)
81 {
82 }
83 while (num == 0)
84 {
85 }
86 long num2 = 0L;
87 int num3 = 9;
88 if (num2 != 0L || num3 == 0)
89 {
90 }
91 }
92 throw new OutOfMemoryException();
93 }
94
95 // Token: 0x170007AB RID: 1963
96 // (get) Token: 0x06003012 RID: 12306 RVA: 0x00069A70 File Offset: 0x00067C70
98 {
99 get
100 {
101 /*
102An exception occurred when decompiling this method (06003012)
103
104ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IDictionary`2<TKey,TItem> System.Collections.ObjectModel.KeyedCollection`2::get_Dictionary()
105
106 ---> System.Exception: Basic block has to end with unconditional control flow.
107{
108 Block_0:
109 stloc:int32(var_0_06, ldfld:int32(KeyedCollection`2::keyCount, ldloc:KeyedCollection`2(this)))
110}
111
112 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
113 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
114 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
115 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
116 --- End of inner exception stack trace ---
117 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
118 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
119*/;
120 }
121 }
122
123 // Token: 0x06003013 RID: 12307 RVA: 0x00069A84 File Offset: 0x00067C84
124 protected override void ClearItems()
125 {
126 if (this.keyCount != 0)
127 {
128 }
129 }
130
131 // Token: 0x06003014 RID: 12308
132 protected abstract TKey GetKeyForItem(TItem item);
133
134 // Token: 0x06003015 RID: 12309 RVA: 0x00069A9C File Offset: 0x00067C9C
135 protected override void InsertItem(int index, TItem item)
136 {
137 if (this != null)
138 {
139 }
140 }
141
142 // Token: 0x06003016 RID: 12310 RVA: 0x00069AAC File Offset: 0x00067CAC
143 protected override void RemoveItem(int index)
144 {
145 if (this != null)
146 {
147 }
148 }
149
150 // Token: 0x06003017 RID: 12311 RVA: 0x00069ABC File Offset: 0x00067CBC
151 protected override void SetItem(int index, TItem item)
152 {
154 }
155
156 // Token: 0x06003018 RID: 12312 RVA: 0x00069AE4 File Offset: 0x00067CE4
157 private void AddKey(TKey key, TItem item)
158 {
159 if (this.keyCount != 0)
160 {
161 return;
162 }
163 int num = this.keyCount;
164 }
165
166 // Token: 0x06003019 RID: 12313 RVA: 0x00069B04 File Offset: 0x00067D04
167 private void CreateDictionary()
168 {
170 this.keyCount = this;
171 while (this == null)
172 {
173 }
174 int num = this.keyCount;
175 }
176
177 // Token: 0x0600301A RID: 12314 RVA: 0x00069B48 File Offset: 0x00067D48
178 private void RemoveKey(TKey key)
179 {
180 if (this.keyCount != 0)
181 {
182 return;
183 }
184 }
185
186 // Token: 0x04001A44 RID: 6724
188
189 // Token: 0x04001A45 RID: 6725
191
192 // Token: 0x04001A46 RID: 6726
193 private int keyCount;
194
195 // Token: 0x04001A47 RID: 6727
196 private readonly int threshold;
197 }
198}
class f__AnonymousType0<< Count > j__TPar
readonly IEqualityComparer< TKey > comparer
KeyedCollection(IEqualityComparer< TKey > comparer)
KeyedCollection(IEqualityComparer< TKey > comparer, int dictionaryCreationThreshold)
override void SetItem(int index, TItem item)
bool TryGetValue(TKey key, [Out] TItem item)
override void InsertItem(int index, TItem item)