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
XHashtable.cs
Go to the documentation of this file.
1using System;
5
6namespace System.Xml.Linq
7{
8 // Token: 0x0200000D RID: 13
9 internal sealed class XHashtable<TValue>
10 {
11 // Token: 0x06000073 RID: 115 RVA: 0x00003184 File Offset: 0x00001384
16
17 // Token: 0x06000074 RID: 116 RVA: 0x000031A0 File Offset: 0x000013A0
18 public bool TryGetValue(string key, int index, int count, [Out] TValue value)
19 {
20 /*
21An exception occurred when decompiling this method (06000074)
22
23ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Xml.Linq.XHashtable`1::TryGetValue(System.String,System.Int32,System.Int32,TValue)
24
25 ---> System.Exception: Basic block has to end with unconditional control flow.
26{
27 Block_0:
28 stloc:XHashtableState(var_0_06, ldfld:class System.Xml.Linq.XHashtable`1/XHashtableState<!TValue>[exp:XHashtableState](XHashtable`1::_state, ldloc:XHashtable`1(this)))
29}
30
31 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
32 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
33 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
34 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
35 --- End of inner exception stack trace ---
36 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
37 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
38*/;
39 }
40
41 // Token: 0x06000075 RID: 117 RVA: 0x000031B4 File Offset: 0x000013B4
42 public TValue Add(TValue value)
43 {
46 long num = 0L;
48 this._state = state2;
49 Monitor.Exit(num);
51 throw new OutOfMemoryException();
52 }
53
54 // Token: 0x0400001C RID: 28
56
57 // Token: 0x0200000E RID: 14
59 {
60 // Token: 0x06000076 RID: 118 RVA: 0x00003208 File Offset: 0x00001408
61 public ExtractKeyDelegate(object @object, IntPtr method)
62 {
63 }
64
65 // Token: 0x06000077 RID: 119 RVA: 0x00002367 File Offset: 0x00000567
66 public string Invoke(TValue value)
67 {
68 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
69 }
70 }
71
72 // Token: 0x0200000F RID: 15
73 private sealed class XHashtableState
74 {
75 // Token: 0x06000078 RID: 120 RVA: 0x00003228 File Offset: 0x00001428
80
81 // Token: 0x06000079 RID: 121 RVA: 0x00003244 File Offset: 0x00001444
83 {
84 /*
85An exception occurred when decompiling this method (06000079)
86
87ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Xml.Linq.XHashtable`1/XHashtableState<TValue> System.Xml.Linq.XHashtable`1/XHashtableState::Resize()
88
89 ---> System.Exception: Basic block has to end with unconditional control flow.
90{
91 IL_002B:
92 stloc:int32[](var_7_31, ldfld:int32[](XHashtableState::_buckets, ldloc:XHashtableState(this)))
93 stloc:int32[](var_9_3C, ldfld:int32[](XHashtableState::_buckets, ldloc:XHashtableState(this)))
94 stloc:valuetype System.Xml.Linq.XHashtable`1/XHashtableState/Entry[](var_11_47, ldfld:valuetype System.Xml.Linq.XHashtable`1/XHashtableState/Entry<!TValue>[][exp:valuetype System.Xml.Linq.XHashtable`1/XHashtableState/Entry[]](XHashtableState::_entries, ldloc:XHashtableState(this)))
95 stloc:valuetype System.Xml.Linq.XHashtable`1/XHashtableState/Entry[](var_12_4F, ldfld:valuetype System.Xml.Linq.XHashtable`1/XHashtableState/Entry<!TValue>[][exp:valuetype System.Xml.Linq.XHashtable`1/XHashtableState/Entry[]](XHashtableState::_entries, ldloc:XHashtableState(this)))
96 stloc:int32[](var_13_57, ldfld:int32[](XHashtableState::_buckets, ldloc:XHashtableState(this)))
97}
98
99 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
100 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
101 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
102 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
103 --- End of inner exception stack trace ---
104 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
105 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
106*/;
107 }
108
109 // Token: 0x0600007A RID: 122 RVA: 0x000032AC File Offset: 0x000014AC
110 public bool TryGetValue(string key, int index, int count, [Out] TValue value)
111 {
112 /*
113An exception occurred when decompiling this method (0600007A)
114
115ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Xml.Linq.XHashtable`1/XHashtableState::TryGetValue(System.String,System.Int32,System.Int32,TValue)
116
117 ---> System.Exception: Basic block has to end with unconditional control flow.
118{
119 Block_0:
120 stloc:valuetype System.Xml.Linq.XHashtable`1/XHashtableState/Entry[](var_0_06, ldfld:valuetype System.Xml.Linq.XHashtable`1/XHashtableState/Entry<!TValue>[][exp:valuetype System.Xml.Linq.XHashtable`1/XHashtableState/Entry[]](XHashtableState::_entries, ldloc:XHashtableState(this)))
121}
122
123 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
124 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
125 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
126 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
127 --- End of inner exception stack trace ---
128 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
129 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
130*/;
131 }
132
133 // Token: 0x0600007B RID: 123 RVA: 0x000032C4 File Offset: 0x000014C4
134 public bool TryAdd(TValue value, [Out] TValue newValue)
135 {
136 if (this != null)
137 {
138 int[] buckets = this._buckets;
139 int[] buckets2 = this._buckets;
140 XHashtable.XHashtableState.Entry[] entries = this._entries;
142 int[] buckets3 = this._buckets;
143 if (entries != null)
144 {
146 }
147 int[] buckets4 = this._buckets;
149 return;
150 }
151 }
152
153 // Token: 0x0600007C RID: 124 RVA: 0x0000331C File Offset: 0x0000151C
154 private bool FindEntry(int hashCode, string key, int index, int count, int entryIndex)
155 {
156 int[] buckets = this._buckets;
157 XHashtable.XHashtableState.Entry[] entries = this._entries;
158 if (this == null)
159 {
162 }
163 int[] buckets2 = this._buckets;
164 int num;
165 if (num != 0)
166 {
168 int[] buckets3 = this._buckets;
169 return;
170 }
171 }
172
173 // Token: 0x0600007D RID: 125 RVA: 0x00002367 File Offset: 0x00000567
174 private static int ComputeHashCode(string key, int index, int count)
175 {
176 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
177 }
178
179 // Token: 0x0400001D RID: 29
180 private int[] _buckets;
181
182 // Token: 0x0400001E RID: 30
184
185 // Token: 0x0400001F RID: 31
186 private int _numEntries;
187
188 // Token: 0x04000020 RID: 32
190
191 // Token: 0x02000010 RID: 16
192 private struct Entry
193 {
194 // Token: 0x04000021 RID: 33
195 public TValue Value;
196
197 // Token: 0x04000022 RID: 34
198 public int HashCode;
199
200 // Token: 0x04000023 RID: 35
201 public int Next;
202 }
203 }
204 }
205}
class f__AnonymousType0<< Count > j__TPar
static void Exit(object obj)
Definition Monitor.cs:47
static void MemoryBarrier()
Definition Thread.cs:335
ExtractKeyDelegate(object @object, IntPtr method)
Definition XHashtable.cs:61
XHashtableState(XHashtable< TValue >.ExtractKeyDelegate extractKey, int capacity)
Definition XHashtable.cs:76
XHashtable< TValue >.XHashtableState Resize()
Definition XHashtable.cs:82
bool TryGetValue(string key, int index, int count, [Out] TValue value)
static int ComputeHashCode(string key, int index, int count)
bool FindEntry(int hashCode, string key, int index, int count, int entryIndex)
bool TryAdd(TValue value, [Out] TValue newValue)
XHashtable< TValue >.XHashtableState.Entry[] _entries
XHashtable< TValue >.ExtractKeyDelegate _extractKey
XHashtable(XHashtable< TValue >.ExtractKeyDelegate extractKey, int capacity)
Definition XHashtable.cs:12
bool TryGetValue(string key, int index, int count, [Out] TValue value)
Definition XHashtable.cs:18
XHashtable< TValue >.XHashtableState _state
Definition XHashtable.cs:55
TValue Add(TValue value)
Definition XHashtable.cs:42