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
LocalDataStore.cs
Go to the documentation of this file.
1using System;
4
5namespace System
6{
7 // Token: 0x02000141 RID: 321
8 internal sealed class LocalDataStore
9 {
10 // Token: 0x06000CB4 RID: 3252 RVA: 0x0001B9B0 File Offset: 0x00019BB0
15
16 // Token: 0x06000CB5 RID: 3253 RVA: 0x0001B9CC File Offset: 0x00019BCC
17 internal void Dispose()
18 {
20 }
21
22 // Token: 0x06000CB6 RID: 3254 RVA: 0x0001B9E8 File Offset: 0x00019BE8
24 {
25 /*
26An exception occurred when decompiling this method (06000CB6)
27
28ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Object System.LocalDataStore::GetData(System.LocalDataStoreSlot)
29
30 ---> System.Exception: Basic block has to end with unconditional control flow.
31{
32 Block_0:
33 call:void(LocalDataStoreMgr::ValidateSlot, ldfld:LocalDataStoreMgr(LocalDataStore::m_Manager, ldloc:LocalDataStore(this)), ldloc:LocalDataStoreSlot(slot))
34 stloc:int64(var_0_17, ldfld:int64(LocalDataStoreElement::m_cookie, ldfld:class System.LocalDataStoreElement[][exp:LocalDataStoreElement](LocalDataStore::m_DataTable, ldloc:LocalDataStore(this))))
35 stloc:int64(var_1_1E, ldfld:int64(LocalDataStoreSlot::m_cookie, ldloc:LocalDataStoreSlot(slot)))
36 stloc:string(var_3_2B, call:string(Environment::GetResourceString, ldstr:string("LocalDataStoreSlot storage has been freed.")))
37}
38
39 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
40 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
41 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
42 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
43 --- End of inner exception stack trace ---
44 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
45 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
46*/;
47 }
48
49 // Token: 0x06000CB7 RID: 3255 RVA: 0x0001BA20 File Offset: 0x00019C20
50 public void SetData(LocalDataStoreSlot slot, object data)
51 {
52 LocalDataStoreMgr manager = this.m_Manager;
53 manager.ValidateSlot(slot);
54 if (manager == null)
55 {
56 }
58 long cookie = localDataStoreElement.m_cookie;
59 long cookie2 = slot.m_cookie;
61 }
62
63 // Token: 0x06000CB8 RID: 3256 RVA: 0x0001BA60 File Offset: 0x00019C60
64 internal void FreeData(int slot, long cookie)
65 {
66 }
67
68 // Token: 0x06000CB9 RID: 3257 RVA: 0x0001BA70 File Offset: 0x00019C70
70 {
72 LocalDataStoreMgr manager = this.m_Manager;
73 long cookie = this.m_DataTable.m_cookie;
75 long cookie2 = this.m_DataTable.m_cookie;
76 if (slotInfoTable == null)
77 {
78 long cookie3 = slot.m_cookie;
80 }
81 long num = 0L;
83 if (num == 0L)
84 {
85 }
86 throw new OutOfMemoryException();
87 }
88
89 // Token: 0x040004EA RID: 1258
91
92 // Token: 0x040004EB RID: 1259
94 }
95}
class f__AnonymousType0<< Count > j__TPar
void DeleteLocalDataStore(LocalDataStore store)
void ValidateSlot(LocalDataStoreSlot slot)
LocalDataStoreMgr m_Manager
void FreeData(int slot, long cookie)
LocalDataStore(LocalDataStoreMgr mgr, int InitialCapacity)
LocalDataStoreElement[] m_DataTable
LocalDataStoreElement PopulateElement(LocalDataStoreSlot slot)
void SetData(LocalDataStoreSlot slot, object data)
object GetData(LocalDataStoreSlot slot)
static void Exit(object obj)
Definition Monitor.cs:47