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
Set.cs
Go to the documentation of this file.
1using System;
4
5namespace System.Linq
6{
7 // Token: 0x02000023 RID: 35
8 internal class Set<TElement>
9 {
10 // Token: 0x0600010E RID: 270 RVA: 0x00003B60 File Offset: 0x00001D60
12 {
13 if (comparer == null)
14 {
15 }
16 this.comparer = 1;
17 this.freeList = 1;
18 }
19
20 // Token: 0x0600010F RID: 271 RVA: 0x00002050 File Offset: 0x00000250
21 public bool Add(TElement value)
22 {
23 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
24 }
25
26 // Token: 0x06000110 RID: 272 RVA: 0x00003B84 File Offset: 0x00001D84
27 private bool Find(TElement value, bool add)
28 {
29 /*
30An exception occurred when decompiling this method (06000110)
31
32ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Linq.Set`1::Find(TElement,System.Boolean)
33
34 ---> System.Exception: Basic block has to end with unconditional control flow.
35{
36 Block_0:
37 stloc:int32[](var_0_06, ldfld:int32[](Set`1::buckets, ldloc:Set`1(this)))
38 stloc:valuetype System.Linq.Set`1/Slot[](var_1_0D, ldfld:valuetype System.Linq.Set`1/Slot<!TElement>[][exp:valuetype System.Linq.Set`1/Slot[]](Set`1::slots, ldloc:Set`1(this)))
39 stloc:IEqualityComparer`1(var_2_14, ldfld:class [mscorlib]System.Collections.Generic.IEqualityComparer`1<!TElement>[exp:IEqualityComparer`1](Set`1::comparer, ldloc:Set`1(this)))
40 stloc:valuetype System.Linq.Set`1/Slot[](var_3_1B, ldfld:valuetype System.Linq.Set`1/Slot<!TElement>[][exp:valuetype System.Linq.Set`1/Slot[]](Set`1::slots, ldloc:Set`1(this)))
41 stloc:valuetype System.Linq.Set`1/Slot[](var_4_22, ldfld:valuetype System.Linq.Set`1/Slot<!TElement>[][exp:valuetype System.Linq.Set`1/Slot[]](Set`1::slots, ldloc:Set`1(this)))
42 stloc:int32(var_5_26, ldc.i4:int32(12))
43 stfld:int32(Set`1::freeList, ldloc:Set`1(this), ldloc:int32(var_5_26))
44 stloc:valuetype System.Linq.Set`1/Slot[](var_8_3C, ldfld:valuetype System.Linq.Set`1/Slot<!TElement>[][exp:valuetype System.Linq.Set`1/Slot[]](Set`1::slots, ldloc:Set`1(this)))
45 stloc:int32(var_9_44, ldfld:int32(Set`1::count, ldloc:Set`1(this)))
46 stloc:int32(var_10_4C, ldfld:int32(Set`1::count, ldloc:Set`1(this)))
47 stloc:valuetype System.Linq.Set`1/Slot[](var_11_54, ldfld:valuetype System.Linq.Set`1/Slot<!TElement>[][exp:valuetype System.Linq.Set`1/Slot[]](Set`1::slots, ldloc:Set`1(this)))
48 stfld:int32(Set`1::count, ldloc:Set`1(this), ldloc:int32(var_5_26))
49 stloc:int32[](var_12_64, ldfld:int32[](Set`1::buckets, ldloc:Set`1(this)))
50}
51
52 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
53 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
54 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
55 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
56 --- End of inner exception stack trace ---
57 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
58 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
59*/;
60 }
61
62 // Token: 0x06000111 RID: 273 RVA: 0x00003BFC File Offset: 0x00001DFC
63 private void Resize()
64 {
65 int num = this.count;
66 Set.Slot[] array = this.slots;
67 int num2 = this.count;
68 int num3 = this.count;
69 this.slots = num;
70 }
71
72 // Token: 0x06000112 RID: 274 RVA: 0x00003C38 File Offset: 0x00001E38
73 internal int InternalGetHashCode(TElement value)
74 {
75 /*
76An exception occurred when decompiling this method (06000112)
77
78ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 System.Linq.Set`1::InternalGetHashCode(TElement)
79
80 ---> System.Exception: Basic block has to end with unconditional control flow.
81{
82 Block_0:
83 stloc:IEqualityComparer`1(var_0_06, ldfld:class [mscorlib]System.Collections.Generic.IEqualityComparer`1<!TElement>[exp:IEqualityComparer`1](Set`1::comparer, ldloc:Set`1(this)))
84}
85
86 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
87 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
88 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
89 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
90 --- End of inner exception stack trace ---
91 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
92 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
93*/;
94 }
95
96 // Token: 0x04000086 RID: 134
97 private int[] buckets;
98
99 // Token: 0x04000087 RID: 135
101
102 // Token: 0x04000088 RID: 136
103 private int count;
104
105 // Token: 0x04000089 RID: 137
106 private int freeList;
107
108 // Token: 0x0400008A RID: 138
110
111 // Token: 0x02000024 RID: 36
112 internal struct Slot
113 {
114 // Token: 0x0400008B RID: 139
115 internal int hashCode;
116
117 // Token: 0x0400008C RID: 140
118 internal TElement value;
119
120 // Token: 0x0400008D RID: 141
121 internal int next;
122 }
123 }
124}
class f__AnonymousType0<< Count > j__TPar
bool Find(TElement value, bool add)
Definition Set.cs:27
Set(IEqualityComparer< TElement > comparer)
Definition Set.cs:11
void Resize()
Definition Set.cs:63
int[] buckets
Definition Set.cs:97
bool Add(TElement value)
Definition Set.cs:21
Set< TElement >.Slot[] slots
Definition Set.cs:100
int InternalGetHashCode(TElement value)
Definition Set.cs:73
int freeList
Definition Set.cs:106
IEqualityComparer< TElement > comparer
Definition Set.cs:109
TElement value
Definition Set.cs:118