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
TypedReference.cs
Go to the documentation of this file.
1using System;
6
7namespace System
8{
9 // Token: 0x0200015F RID: 351
11 [ComVisible(true)]
12 [CLSCompliant(false)]
13 public ref struct TypedReference
14 {
15 // Token: 0x06000E28 RID: 3624 RVA: 0x0001EBF4 File Offset: 0x0001CDF4
16 [CLSCompliant(false)]
17 public static TypedReference MakeTypedReference(object target, FieldInfo[] flds)
18 {
19 while (target == null || flds == null || flds == null)
20 {
21 }
22 if (false)
23 {
24 }
25 throw new InvalidCastException();
26 }
27
28 // Token: 0x06000E29 RID: 3625 RVA: 0x0001EC14 File Offset: 0x0001CE14
29 private unsafe static void InternalMakeTypedReference(void* result, object target, IntPtr[] flds, RuntimeType lastFieldType)
30 {
31 }
32
33 // Token: 0x06000E2A RID: 3626 RVA: 0x0001EC24 File Offset: 0x0001CE24
34 public override int GetHashCode()
35 {
36 /*
37An exception occurred when decompiling this method (06000E2A)
38
39ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 System.TypedReference::GetHashCode()
40
41 ---> System.Exception: Basic block has to end with unconditional control flow.
42{
43 Block_0:
44 stloc:native int(var_0_06, ldfld:native int(typedref::Type, ldloc:typedref&(this)))
45}
46
47 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
48 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
49 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
50 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
51 --- End of inner exception stack trace ---
52 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
53 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
54*/;
55 }
56
57 // Token: 0x06000E2B RID: 3627 RVA: 0x0000207A File Offset: 0x0000027A
58 public override bool Equals(object o)
59 {
60 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
61 }
62
63 // Token: 0x17000140 RID: 320
64 // (get) Token: 0x06000E2C RID: 3628 RVA: 0x0001EC3C File Offset: 0x0001CE3C
65 internal bool IsNull
66 {
67 get
68 {
69 /*
70An exception occurred when decompiling this method (06000E2C)
71
72ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.TypedReference::get_IsNull()
73
74 ---> System.Exception: Basic block has to end with unconditional control flow.
75{
76 Block_0:
77 stloc:native int(var_0_06, ldfld:native int(typedref::Value, ldloc:typedref&(this)))
78 stloc:native int(var_1_0D, ldfld:native int(typedref::Type, ldloc:typedref&(this)))
79}
80
81 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
82 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
83 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
84 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
85 --- End of inner exception stack trace ---
86 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
87 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
88*/;
89 }
90 }
91
92 // Token: 0x06000E2D RID: 3629 RVA: 0x0000207A File Offset: 0x0000027A
93 [CLSCompliant(false)]
94 public static void SetTypedReference(TypedReference target, object value)
95 {
96 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
97 }
98
99 // Token: 0x040005D2 RID: 1490
101
102 // Token: 0x040005D3 RID: 1491
103 private IntPtr Value;
104
105 // Token: 0x040005D4 RID: 1492
106 private IntPtr Type;
107 }
108}
class f__AnonymousType0<< Count > j__TPar
static unsafe void InternalMakeTypedReference(void *result, object target, IntPtr[] flds, RuntimeType lastFieldType)
static TypedReference MakeTypedReference(object target, FieldInfo[] flds)
override bool Equals(object o)
RuntimeTypeHandle type
static void SetTypedReference(TypedReference target, object value)
override int GetHashCode()