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
TypeSpec.cs
Go to the documentation of this file.
1using System;
4using System.Text;
6
7namespace System
8{
9 // Token: 0x0200019E RID: 414
10 internal class TypeSpec
11 {
12 // Token: 0x1700016D RID: 365
13 // (get) Token: 0x06000FD6 RID: 4054 RVA: 0x00021C24 File Offset: 0x0001FE24
14 internal bool HasModifiers
15 {
16 get
17 {
18 /*
19An exception occurred when decompiling this method (06000FD6)
20
21ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.TypeSpec::get_HasModifiers()
22
23 ---> System.Exception: Basic block has to end with unconditional control flow.
24{
25 Block_0:
26 stloc:class System.Collections.Generic.List`1<class System.ModifierSpec>(var_0_06, ldfld:class System.Collections.Generic.List`1<class System.ModifierSpec>(TypeSpec::modifier_spec, ldloc:TypeSpec(this)))
27}
28
29 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
30 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
31 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
32 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
33 --- End of inner exception stack trace ---
34 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
35 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
36*/;
37 }
38 }
39
40 // Token: 0x06000FD7 RID: 4055 RVA: 0x00021C38 File Offset: 0x0001FE38
42 {
43 long num;
44 do
45 {
47 if (this.nested != null)
48 {
49 }
50 if (this.generic_params == null)
51 {
52 goto IL_0086;
53 }
54 int size = this.generic_params._size;
55 num = 0L;
56 }
57 while (num == 0L);
58 if (this.generic_params._size != 0)
59 {
61 if (num == 0L)
62 {
63 }
65 string text;
66 StringBuilder stringBuilder = stringBuilder2.Append(text);
67 int num2 = 93;
68 StringBuilder stringBuilder3 = stringBuilder.Append((char)num2);
69 }
71 if (num == 0L)
72 {
73 }
74 int size2 = this.generic_params._size;
75 IL_0086:
76 string text2 = this.assembly_name;
77 string text3 = this.assembly_name;
80 throw new OutOfMemoryException();
81 }
82
83 // Token: 0x06000FD8 RID: 4056 RVA: 0x00021CF4 File Offset: 0x0001FEF4
85 {
86 if (this.modifier_spec != null)
87 {
88 }
89 if (this.is_byref)
90 {
91 }
92 return sb;
93 }
94
95 // Token: 0x1700016E RID: 366
96 // (get) Token: 0x06000FD9 RID: 4057 RVA: 0x00021D28 File Offset: 0x0001FF28
97 internal string DisplayFullName
98 {
99 get
100 {
101 string text;
102 if (this.display_fullname == null)
103 {
105 }
106 return text;
107 }
108 }
109
110 // Token: 0x06000FDA RID: 4058 RVA: 0x00021D48 File Offset: 0x0001FF48
111 internal static TypeSpec Parse(string typeName)
112 {
114 return typeSpec;
115 }
116
117 // Token: 0x06000FDB RID: 4059 RVA: 0x00021D58 File Offset: 0x0001FF58
118 internal static string UnescapeInternalName(string displayName)
119 {
120 }
121
122 // Token: 0x06000FDC RID: 4060 RVA: 0x00021D6C File Offset: 0x0001FF6C
124 {
125 int num = 1;
126 string text;
127 if (typeResolver == null && assemblyResolver == null)
128 {
129 if (this.display_fullname == null)
130 {
132 }
133 if (num == 0)
134 {
135 }
136 }
137 string text2 = this.assembly_name;
138 string text4;
139 if (text2 != null)
140 {
141 if (assemblyResolver != null)
142 {
143 }
144 Assembly assembly = Assembly.Load(text2);
145 string text3 = this.assembly_name;
146 text4 = "Could not resolve assembly '" + text3 + "'";
147 }
148 int stringLength = text4._stringLength;
149 int value = stringLength.m_value;
150 if (text != null)
151 {
152 }
153 if (text4._stringLength == 0)
154 {
155 return "Could not resolve type '";
156 }
157 long num2;
158 if (num2 == 0L)
159 {
160 return "Could not resolve type '";
161 }
162 string text5;
163 int stringLength2 = text5._stringLength;
164 throw new OutOfMemoryException();
165 }
166
167 // Token: 0x06000FDD RID: 4061 RVA: 0x00021E5C File Offset: 0x0002005C
168 private void AddName(string type_name)
169 {
170 if (this.name != null)
171 {
172 if (this.nested == null)
173 {
174 }
176 return;
177 }
180 }
181
182 // Token: 0x06000FDE RID: 4062 RVA: 0x00021E90 File Offset: 0x00020090
184 {
185 if (this.modifier_spec == null)
186 {
187 }
188 }
189
190 // Token: 0x06000FDF RID: 4063 RVA: 0x00021EA8 File Offset: 0x000200A8
191 private static void SkipSpace(string name, int pos)
192 {
193 int stringLength = name._stringLength;
194 char c;
195 bool flag = char.IsWhiteSpace(c);
196 int stringLength2 = name._stringLength;
197 }
198
199 // Token: 0x06000FE0 RID: 4064 RVA: 0x00021ECC File Offset: 0x000200CC
200 private static void BoundCheck(int idx, string s)
201 {
202 int stringLength = s._stringLength;
203 }
204
205 // Token: 0x06000FE1 RID: 4065 RVA: 0x00021EE0 File Offset: 0x000200E0
206 private static TypeIdentifier ParsedTypeIdentifier(string displayName)
207 {
209 return typeIdentifier;
210 }
211
212 // Token: 0x06000FE2 RID: 4066 RVA: 0x00021EF0 File Offset: 0x000200F0
213 private static TypeSpec Parse(string name, int p, bool is_recurse, bool allow_aqn)
214 {
215 if (-2147483648 == 0)
216 {
217 string text2;
218 string text = text2.Trim();
220 return typeSpec;
221 }
222 return "Can't have a byref of a byref";
223 }
224
225 // Token: 0x06000FE3 RID: 4067 RVA: 0x00021FD4 File Offset: 0x000201D4
226 public TypeSpec()
227 {
228 }
229
230 // Token: 0x04000885 RID: 2181
232
233 // Token: 0x04000886 RID: 2182
234 private string assembly_name;
235
236 // Token: 0x04000887 RID: 2183
238
239 // Token: 0x04000888 RID: 2184
241
242 // Token: 0x04000889 RID: 2185
244
245 // Token: 0x0400088A RID: 2186
246 private bool is_byref;
247
248 // Token: 0x0400088B RID: 2187
249 private string display_fullname;
250
251 // Token: 0x0200019F RID: 415
252 [Flags]
253 internal enum DisplayNameFormat
254 {
255 // Token: 0x0400088D RID: 2189
256 Default = 0,
257 // Token: 0x0400088E RID: 2190
258 WANT_ASSEMBLY = 1,
259 // Token: 0x0400088F RID: 2191
260 NO_MODIFIERS = 2
261 }
262 }
263}
class f__AnonymousType0<< Count > j__TPar
static Assembly Load(string assemblyString)
Definition Assembly.cs:267
StringBuilder Append(char value, int repeatCount)
static TypeIdentifier FromDisplay(string displayName)
bool HasModifiers
Definition TypeSpec.cs:15
static void BoundCheck(int idx, string s)
Definition TypeSpec.cs:200
static TypeSpec Parse(string name, int p, bool is_recurse, bool allow_aqn)
Definition TypeSpec.cs:213
static void SkipSpace(string name, int pos)
Definition TypeSpec.cs:191
List< TypeIdentifier > nested
Definition TypeSpec.cs:237
List< TypeSpec > generic_params
Definition TypeSpec.cs:240
string GetDisplayFullName(TypeSpec.DisplayNameFormat flags)
Definition TypeSpec.cs:41
StringBuilder GetModifierString(StringBuilder sb)
Definition TypeSpec.cs:84
static string UnescapeInternalName(string displayName)
Definition TypeSpec.cs:118
static TypeIdentifier ParsedTypeIdentifier(string displayName)
Definition TypeSpec.cs:206
void AddModifier(ModifierSpec md)
Definition TypeSpec.cs:183
Type Resolve(Func< AssemblyName, Assembly > assemblyResolver, Func< Assembly, string, bool, Type > typeResolver, bool throwOnError, bool ignoreCase, StackCrawlMark stackMark)
Definition TypeSpec.cs:123
static TypeSpec Parse(string typeName)
Definition TypeSpec.cs:111
List< ModifierSpec > modifier_spec
Definition TypeSpec.cs:243
void AddName(string type_name)
Definition TypeSpec.cs:168
string DisplayFullName
Definition TypeSpec.cs:98
string assembly_name
Definition TypeSpec.cs:234
string display_fullname
Definition TypeSpec.cs:249
TypeIdentifier name
Definition TypeSpec.cs:231