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
TransparentProxy.cs
Go to the documentation of this file.
1using System;
5using Mono;
6
8{
9 // Token: 0x0200035A RID: 858
10 [StructLayout(0)]
11 internal class TransparentProxy
12 {
13 // Token: 0x06001C93 RID: 7315 RVA: 0x0003E27C File Offset: 0x0003C47C
15 {
17 if (Type.GetTypeFromHandle(runtimeClassHandle.GetTypeHandle()) != null)
18 {
19 }
20 throw new InvalidCastException();
21 }
22
23 // Token: 0x1700034E RID: 846
24 // (get) Token: 0x06001C94 RID: 7316 RVA: 0x0003E29C File Offset: 0x0003C49C
26 {
27 get
28 {
29 return this.GetProxyType().IsContextful;
30 }
31 }
32
33 // Token: 0x1700034F RID: 847
34 // (get) Token: 0x06001C95 RID: 7317 RVA: 0x0003E2B4 File Offset: 0x0003C4B4
36 {
37 get
38 {
39 return this._rp._targetContext;
40 }
41 }
42
43 // Token: 0x06001C96 RID: 7318 RVA: 0x0003E2CC File Offset: 0x0003C4CC
44 private bool InCurrentContext()
45 {
46 /*
47An exception occurred when decompiling this method (06001C96)
48
49ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Runtime.Remoting.Proxies.TransparentProxy::InCurrentContext()
50
51 ---> System.Exception: Basic block has to end with unconditional control flow.
52{
53 Block_0:
54 stloc:bool(var_0_0B, callgetter:bool(Type::get_IsContextful, call:RuntimeType[exp:Type](TransparentProxy::GetProxyType, ldloc:TransparentProxy(this))))
55 stloc:RealProxy(var_1_12, ldfld:RealProxy(TransparentProxy::_rp, ldloc:TransparentProxy(this)))
56 stloc:Context(var_3_1B, ldfld:Context(RealProxy::_targetContext, ldloc:RealProxy(var_1_12)))
57 stloc:Context(var_4_21, callgetter:Context(Thread::get_CurrentContext))
58}
59
60 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
61 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
62 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
63 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
64 --- End of inner exception stack trace ---
65 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
66 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
67*/;
68 }
69
70 // Token: 0x06001C97 RID: 7319 RVA: 0x0003E300 File Offset: 0x0003C500
72 {
73 do
74 {
75 bool flag = this.InCurrentContext();
76 MarshalByRefObject server = this._rp._server;
80 if ((typeFromHandle != null && typeFromHandle == null) || (fieldInfo != null && fieldInfo == null))
81 {
82 goto IL_003D;
83 }
84 RealProxy rp = this._rp;
85 }
86 while (this != null);
87 object obj;
88 return obj;
89 IL_003D:
91 }
92
93 // Token: 0x06001C98 RID: 7320 RVA: 0x0003E350 File Offset: 0x0003C550
95 {
96 bool flag = this.InCurrentContext();
97 MarshalByRefObject server = this._rp._server;
99 fieldInfo.SetValue(server, arg);
100 }
101
102 // Token: 0x06001C99 RID: 7321 RVA: 0x0003E3B8 File Offset: 0x0003C5B8
104 {
105 }
106
107 // Token: 0x04000E7B RID: 3707
109
110 // Token: 0x04000E7C RID: 3708
112
113 // Token: 0x04000E7D RID: 3709
114 private bool _custom_type_info;
115 }
116}
class f__AnonymousType0<< Count > j__TPar
void SetValue(object obj, object value)
Definition FieldInfo.cs:154
object LoadRemoteFieldNew(IntPtr classPtr, IntPtr fieldPtr)
void StoreRemoteField(IntPtr classPtr, IntPtr fieldPtr, object arg)
static Type GetTypeFromHandle(RuntimeTypeHandle handle)
Definition Type.cs:1311
bool IsContextful
Definition Type.cs:675