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
CrossAppDomainSink.cs
Go to the documentation of this file.
1using System;
3using System.IO;
9
11{
12 // Token: 0x02000378 RID: 888
13 [MonoTODO("Handle domain unloading?")]
15 {
16 // Token: 0x06001D35 RID: 7477 RVA: 0x0003FE78 File Offset: 0x0003E078
18 {
20 }
21
22 // Token: 0x06001D36 RID: 7478 RVA: 0x0003FE94 File Offset: 0x0003E094
23 internal static CrossAppDomainSink GetSink(int domainID)
24 {
25 if (!true)
26 {
27 }
28 throw new InvalidCastException();
29 }
30
31 // Token: 0x1700036E RID: 878
32 // (get) Token: 0x06001D37 RID: 7479 RVA: 0x0003FEC8 File Offset: 0x0003E0C8
33 internal int TargetDomainId
34 {
35 get
36 {
37 return this._domainID;
38 }
39 }
40
41 // Token: 0x06001D38 RID: 7480 RVA: 0x0003FEDC File Offset: 0x0003E0DC
43 {
44 /*
45An exception occurred when decompiling this method (06001D38)
46
47ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Runtime.Remoting.Channels.CrossAppDomainSink/ProcessMessageRes System.Runtime.Remoting.Channels.CrossAppDomainSink::ProcessMessageInDomain(System.Byte[],System.Runtime.Remoting.Messaging.CADMethodCallMessage)
48
49 ---> System.Exception: Basic block has to end with unconditional control flow.
50{
51 Block_0:
52 stloc:AppDomain(var_1_07, callgetter:AppDomain(AppDomain::get_CurrentDomain))
53}
54
55 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
56 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
57 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
58 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
59 --- End of inner exception stack trace ---
60 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
61 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
62*/;
63 }
64
65 // Token: 0x06001D39 RID: 7481 RVA: 0x0003FEF4 File Offset: 0x0003E0F4
67 {
69 if (cadmethodCallMessage != null)
70 {
71 }
74 int domainID = this._domainID;
75 if (memoryStream != null && memoryStream == null)
76 {
78 }
79 if (cadmethodCallMessage != null && cadmethodCallMessage == null)
80 {
82 }
83 long num = 0L;
84 int num2 = 3;
86 if (num == 0L && num2 == 0 && domainID != 0)
87 {
88 IMessage message;
89 return message;
90 }
91 throw new OutOfMemoryException();
92 }
93
94 // Token: 0x06001D3A RID: 7482 RVA: 0x0003FF9C File Offset: 0x0003E19C
98
99 // Token: 0x06001D3B RID: 7483 RVA: 0x0003FFAC File Offset: 0x0003E1AC
100 public void SendAsyncMessage(object data)
101 {
102 if (data != null)
103 {
104 }
105 }
106
107 // Token: 0x06001D3C RID: 7484 RVA: 0x0003FFC4 File Offset: 0x0003E1C4
108 // Note: this type is marked as 'beforefieldinit'.
110 {
111 Type type;
112 MethodInfo method = type.GetMethod("ProcessMessageInDomain", BindingFlags.Static | BindingFlags.NonPublic);
113 }
114
115 // Token: 0x06001D3D RID: 7485 RVA: 0x0003FFE0 File Offset: 0x0003E1E0
118 {
119 this.SendAsyncMessage(data);
120 }
121
122 // Token: 0x04000EBF RID: 3775
123 private static Hashtable s_sinks;
124
125 // Token: 0x04000EC0 RID: 3776
127
128 // Token: 0x04000EC1 RID: 3777
129 private int _domainID;
130
131 // Token: 0x02000379 RID: 889
132 private struct ProcessMessageRes
133 {
134 // Token: 0x04000EC2 RID: 3778
135 public byte[] arrResponse;
136
137 // Token: 0x04000EC3 RID: 3779
139 }
140 }
141}
class f__AnonymousType0<< Count > j__TPar
static Context InternalSetContext(Context context)
Definition AppDomain.cs:171
static MemoryStream SerializeMessage(IMessage msg)
static CrossAppDomainSink.ProcessMessageRes ProcessMessageInDomain(byte[] arrRequest, CADMethodCallMessage cadMsg)
static CrossAppDomainSink GetSink(int domainID)
virtual IMessage SyncProcessMessage(IMessage msgRequest)
void< AsyncProcessMessage > b__10_0(object data)
virtual IMessageCtrl AsyncProcessMessage(IMessage reqMsg, IMessageSink replySink)
static CADMethodCallMessage Create(IMessage callMsg)
static Context CurrentContext
Definition Thread.cs:360
MethodInfo GetMethod(string name)
Definition Type.cs:945