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
JsonSerializerInternalReader.cs
Go to the documentation of this file.
1using System;
12
14{
15 // Token: 0x020000A8 RID: 168
16 [Preserve]
18 {
19 // Token: 0x06000607 RID: 1543 RVA: 0x0000F188 File Offset: 0x0000D388
24
25 // Token: 0x06000608 RID: 1544 RVA: 0x0000F19C File Offset: 0x0000D39C
26 public void Populate(JsonReader reader, object target)
27 {
28 ValidationUtils.ArgumentNotNull(target, "target");
29 Type type = target.GetType();
31 }
32
33 // Token: 0x06000609 RID: 1545 RVA: 0x0000F238 File Offset: 0x0000D438
35 {
36 /*
37An exception occurred when decompiling this method (06000609)
38
39ICSharpCode.Decompiler.DecompilerException: Error decompiling Newtonsoft.Json.Serialization.JsonContract Newtonsoft.Json.Serialization.JsonSerializerInternalReader::GetContractSafe(System.Type)
40
41 ---> System.Exception: Basic block has to end with unconditional control flow.
42{
43 IL_000F:
44 stloc:int64(var_1_15, ldfld:int64(int64::m_value, ldc.i4:int32[exp:int64&](0)))
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: 0x0600060A RID: 1546 RVA: 0x0000F25C File Offset: 0x0000D45C
58 public object Deserialize(JsonReader reader, Type objectType, bool checkAdditionalContent)
59 {
61 bool isNullable;
62 if (reader != null)
63 {
64 contractSafe = this.GetContractSafe(objectType);
65 if (contractSafe != null)
66 {
67 if (contractSafe.<Converter>k__BackingField != null)
68 {
69 goto IL_0037;
70 }
72 Type <UnderlyingType>k__BackingField = contractSafe.<UnderlyingType>k__BackingField;
73 if (serializer.GetMatchingConverter(<UnderlyingType>k__BackingField) != null)
74 {
75 goto IL_0037;
76 }
77 JsonConverter <InternalConverter>k__BackingField = contractSafe.<InternalConverter>k__BackingField;
78 }
79 long num = 0L;
80 IL_0037:
81 if (reader == null)
82 {
83 }
84 if (num != 0L)
85 {
86 object obj;
87 return obj;
88 }
89 if (contractSafe != null)
90 {
91 isNullable = contractSafe.IsNullable;
92 if (isNullable)
93 {
94 }
95 }
96 }
97 if (!isNullable)
98 {
99 }
101 Type <UnderlyingType>k__BackingField2 = contractSafe.<UnderlyingType>k__BackingField;
102 string text = "No JSON content found and type '{0}' is not nullable.".FormatWith(invariantCulture, <UnderlyingType>k__BackingField2);
104 throw new OutOfMemoryException();
105 }
106
107 // Token: 0x0600060B RID: 1547 RVA: 0x0000F2F4 File Offset: 0x0000D4F4
109 {
110 /*
111An exception occurred when decompiling this method (0600060B)
112
113ICSharpCode.Decompiler.DecompilerException: Error decompiling Newtonsoft.Json.Serialization.JsonSerializerProxy Newtonsoft.Json.Serialization.JsonSerializerInternalReader::GetInternalSerializer()
114
115 ---> System.Exception: Basic block has to end with unconditional control flow.
116{
117 IL_0000:
118 brtrue(IL_0000, ldfld:JsonSerializerProxy[exp:bool](JsonSerializerInternalBase::InternalSerializer, ldloc:JsonSerializerInternalReader[exp:JsonSerializerInternalBase](this)))
119}
120
121 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
122 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
123 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
124 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
125 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
126 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
127 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
128 --- End of inner exception stack trace ---
129 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
130 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
131*/;
132 }
133
134 // Token: 0x0600060C RID: 1548 RVA: 0x0000F308 File Offset: 0x0000D508
136 {
137 ValidationUtils.ArgumentNotNull(reader, "reader");
138 if (contract != null)
139 {
140 Type <UnderlyingType>k__BackingField = contract.<UnderlyingType>k__BackingField;
141 Type <UnderlyingType>k__BackingField2 = contract.<UnderlyingType>k__BackingField;
142 Type <UnderlyingType>k__BackingField3 = contract.<UnderlyingType>k__BackingField;
143 }
144 if (!false)
145 {
147 return jtoken;
148 }
149 throw new OutOfMemoryException();
150 }
151
152 // Token: 0x0600060D RID: 1549 RVA: 0x0000F360 File Offset: 0x0000D560
154 {
155 ValidationUtils.ArgumentNotNull(reader, "reader");
156 if (reader != null)
157 {
158 }
159 bool flag = reader.ReadAndMoveToContent();
160 JsonSerializationException ex = JsonSerializationException.Create(reader, "Unexpected end when deserializing object.");
161 if (!false)
162 {
164 return jtoken;
165 }
166 throw new OutOfMemoryException();
167 }
168
169 // Token: 0x0600060E RID: 1550 RVA: 0x0000F3B4 File Offset: 0x0000D5B4
171 {
172 if (contract != null)
173 {
175 }
176 return "Unexpected end when deserializing object.";
177 }
178
179 // Token: 0x0600060F RID: 1551 RVA: 0x0000F41C File Offset: 0x0000D61C
180 private static bool CoerceEmptyStringToNull(Type objectType, JsonContract contract, string s)
181 {
182 /*
183An exception occurred when decompiling this method (0600060F)
184
185ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Newtonsoft.Json.Serialization.JsonSerializerInternalReader::CoerceEmptyStringToNull(System.Type,Newtonsoft.Json.Serialization.JsonContract,System.String)
186
187 ---> System.Exception: Basic block has to end with unconditional control flow.
188{
189 Block_0:
190 stloc:RuntimeTypeHandle(var_4_0B, ldfld:RuntimeTypeHandle(Type::_impl, ldloc:Type(objectType)))
191}
192
193 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
194 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
195 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
196 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
197 --- End of inner exception stack trace ---
198 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
199 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
200*/;
201 }
202
203 // Token: 0x06000610 RID: 1552 RVA: 0x0000F438 File Offset: 0x0000D638
205 {
207 return "JSON object (e.g. {\"name\":\"value\"})";
208 }
209
210 // Token: 0x06000611 RID: 1553 RVA: 0x0000F454 File Offset: 0x0000D654
212 {
213 while (memberConverter == null)
214 {
215 if ((containerProperty == null || containerProperty.<ItemConverter>k__BackingField == null) && (containerContract == null || containerContract.<ItemConverter>k__BackingField == null))
216 {
217 if (contract == null)
218 {
219 JsonConverter <InternalConverter>k__BackingField;
220 return <InternalConverter>k__BackingField;
221 }
222 if (contract.<Converter>k__BackingField == null)
223 {
224 Type <UnderlyingType>k__BackingField = contract.<UnderlyingType>k__BackingField;
226 while (jsonConverter != null)
227 {
228 }
229 JsonConverter <InternalConverter>k__BackingField = contract.<InternalConverter>k__BackingField;
230 return <InternalConverter>k__BackingField;
231 }
232 }
233 }
234 return memberConverter;
235 }
236
237 // Token: 0x06000612 RID: 1554 RVA: 0x0000F4A0 File Offset: 0x0000D6A0
239 {
241 reader.ReadAndAssert();
242 JToken jtoken = this.CreateJObject(reader);
244 if (reader != null)
245 {
246 }
248 if (jsonReader != null)
249 {
250 }
251 CultureInfo culture = reader.Culture;
253 string dateFormatString = reader._dateFormatString;
261 bool <SupportMultipleContent>k__BackingField = reader.<SupportMultipleContent>k__BackingField;
262 jsonReader.<SupportMultipleContent>k__BackingField = <SupportMultipleContent>k__BackingField;
263 jsonReader.ReadAndAssert();
264 if (jtoken != null)
265 {
266 Type type = jtoken.GetType();
267 }
268 object obj;
269 return obj;
270 }
271
272 // Token: 0x06000613 RID: 1555 RVA: 0x0000F698 File Offset: 0x0000D898
274 {
275 /*
276An exception occurred when decompiling this method (06000613)
277
278ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Newtonsoft.Json.Serialization.JsonSerializerInternalReader::ReadMetadataPropertiesToken(Newtonsoft.Json.Linq.JTokenReader,System.Type,Newtonsoft.Json.Serialization.JsonContract,Newtonsoft.Json.Serialization.JsonProperty,Newtonsoft.Json.Serialization.JsonContainerContract,Newtonsoft.Json.Serialization.JsonProperty,System.Object,System.Object,System.String)
279
280 ---> System.Exception: Basic block has to end with unconditional control flow.
281{
282 IL_00EB:
283 stloc:CultureInfo(var_23_F3, callgetter:CultureInfo(CultureInfo::get_InvariantCulture))
284 stloc:string(var_24_106, call:string(StringUtils::FormatWith, ldstr:string("Additional content found in JSON reference object. A JSON reference object should only have a {0} property."), ldloc:CultureInfo[exp:IFormatProvider](var_23_F3), ldstr:string[exp:object]("$ref")))
285 stloc:CultureInfo(var_27_110, callgetter:CultureInfo(CultureInfo::get_InvariantCulture))
286 stloc:string(var_28_123, call:string(StringUtils::FormatWith, ldstr:string("JSON reference {0} property must have a string or null value."), ldloc:CultureInfo[exp:IFormatProvider](var_27_110), ldstr:string[exp:object]("$ref")))
287}
288
289 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
290 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
291 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
292 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
293 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
294 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
295 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
296 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
297 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
298 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
299 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
300 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
301 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
302 --- End of inner exception stack trace ---
303 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
304 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
305*/;
306 }
307
308 // Token: 0x06000614 RID: 1556 RVA: 0x0000F7CC File Offset: 0x0000D9CC
310 {
311 reader.ReadAndAssert();
312 if (reader != null)
313 {
314 reader.ReadAndAssert();
315 if (reader == null)
316 {
317 goto IL_0029;
318 }
319 reader.ReadAndAssert();
320 reader.ReadAndAssert();
321 if (reader != null)
322 {
323 }
324 }
325 reader.ReadAndAssert();
326 IL_0029:
328 reader.ReadAndAssert();
329 reader.ReadAndAssert();
330 if (referenceResolver != null)
331 {
333 Type type;
334 string text = "Resolved object reference '{0}' to {1}.".FormatWith(invariantCulture, reader, type);
335 }
337 string text2 = "JSON reference {0} property must have a string or null value.".FormatWith(invariantCulture2, "$ref");
339 return "Additional content found in JSON reference object. A JSON reference object should only have a {0} property." != null;
340 }
341
342 // Token: 0x06000615 RID: 1557 RVA: 0x0000F86C File Offset: 0x0000DA6C
344 {
345 if (member != null)
346 {
347 TypeNameHandling? <TypeNameHandling>k__BackingField = member.<TypeNameHandling>k__BackingField;
348 if (<TypeNameHandling>k__BackingField != null)
349 {
350 if (<TypeNameHandling>k__BackingField == null)
351 {
352 return;
353 }
354 goto IL_0046;
355 }
356 }
357 if (containerContract != null)
358 {
359 TypeNameHandling? <ItemTypeNameHandling>k__BackingField = containerContract.<ItemTypeNameHandling>k__BackingField;
360 if (<ItemTypeNameHandling>k__BackingField != null)
361 {
362 if (<ItemTypeNameHandling>k__BackingField == null)
363 {
364 return;
365 }
366 goto IL_0046;
367 }
368 }
369 if (containerMember != null)
370 {
371 TypeNameHandling? <ItemTypeNameHandling>k__BackingField2 = containerMember.<ItemTypeNameHandling>k__BackingField;
372 if (<ItemTypeNameHandling>k__BackingField2 != null)
373 {
374 if (<ItemTypeNameHandling>k__BackingField2 == null)
375 {
376 return;
377 }
378 goto IL_0046;
379 }
380 }
382 {
383 return;
384 }
385 IL_0046:
387 if (binder == null)
388 {
390 string text2;
391 string text = "Type specified in JSON '{0}' was not resolved.".FormatWith(invariantCulture, text2);
392 return;
393 }
394 if (this.TraceWriter != null)
395 {
396 return;
397 }
398 }
399
400 // Token: 0x06000616 RID: 1558 RVA: 0x0000F948 File Offset: 0x0000DB48
402 {
403 /*
404An exception occurred when decompiling this method (06000616)
405
406ICSharpCode.Decompiler.DecompilerException: Error decompiling Newtonsoft.Json.Serialization.JsonArrayContract Newtonsoft.Json.Serialization.JsonSerializerInternalReader::EnsureArrayContract(Newtonsoft.Json.JsonReader,System.Type,Newtonsoft.Json.Serialization.JsonContract)
407
408 ---> System.Exception: Basic block has to end with unconditional control flow.
409{
410 IL_003E:
411 stloc:CultureInfo(var_10_46, callgetter:CultureInfo(CultureInfo::get_InvariantCulture))
412 stloc:string(var_11_55, call:string(StringUtils::FormatWith, ldstr:string("Could not resolve type '{0}' to a JsonContract."), ldloc:CultureInfo[exp:IFormatProvider](var_10_46), ldloc:Type[exp:object](objectType)))
413 stloc:JsonSerializationException(var_12_5F, call:JsonSerializationException(JsonSerializationException::Create, ldloc:JsonReader(reader), ldloc:string(var_11_55)))
414}
415
416 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
417 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
418 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
419 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
420 --- End of inner exception stack trace ---
421 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
422 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
423*/;
424 }
425
426 // Token: 0x06000617 RID: 1559 RVA: 0x0000F9B8 File Offset: 0x0000DBB8
427 private object CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, object existingValue, string id)
428 {
431 if (existingValue != null)
432 {
433 if (!jsonArrayContract.<CanDeserialize>k__BackingField)
434 {
436 return "Cannot populate list type {0}.";
437 }
438 if (!jsonArrayContract.<ShouldCreateWrapper>k__BackingField)
439 {
440 goto IL_002F;
441 }
443 }
444 if (id != null)
445 {
447 string iso3lang = invariantCulture.iso3lang;
448 return "Cannot preserve reference to array or readonly list, or list created from a non-default constructor: {0}.";
449 }
451 IL_002F:
452 IList list;
453 if (list != null)
454 {
455 return this.PopulateList(list, reader, jsonArrayContract, member, id);
456 }
457 throw new InvalidCastException();
458 }
459
460 // Token: 0x06000618 RID: 1560 RVA: 0x0000FB2C File Offset: 0x0000DD2C
462 {
463 if (contract != null)
464 {
465 Type <UnderlyingType>k__BackingField = contract.<UnderlyingType>k__BackingField;
467 }
468 return true;
469 }
470
471 // Token: 0x06000619 RID: 1561 RVA: 0x0000FB4C File Offset: 0x0000DD4C
473 {
474 while (targetType != null)
475 {
477 if (value != null)
478 {
479 if (!contract.IsConvertable)
480 {
481 break;
482 }
483 if (contract.IsEnum)
484 {
485 if (value != null)
486 {
487 }
488 object obj = Enum.ToObject(contract.NonNullableUnderlyingType, value);
489 return obj;
490 }
491 Type nonNullableUnderlyingType = contract.NonNullableUnderlyingType;
492 object obj2;
493 return obj2;
494 }
495 else if (contract.IsNullable)
496 {
497 object obj;
498 return obj;
499 }
500 }
501 object obj3;
502 return obj3;
503 }
504
505 // Token: 0x0600061A RID: 1562 RVA: 0x0000FBF8 File Offset: 0x0000DDF8
507 {
508 /*
509An exception occurred when decompiling this method (0600061A)
510
511ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Newtonsoft.Json.Serialization.JsonSerializerInternalReader::SetPropertyValue(Newtonsoft.Json.Serialization.JsonProperty,Newtonsoft.Json.JsonConverter,Newtonsoft.Json.Serialization.JsonContainerContract,Newtonsoft.Json.Serialization.JsonProperty,Newtonsoft.Json.JsonReader,System.Object)
512
513 ---> System.Exception: Basic block has to end with unconditional control flow.
514{
515 IL_007C:
516 stloc:class [mscorlib]System.Action`2<object, object>(var_15_82, ldfld:class [mscorlib]System.Action`2<object, object>(JsonProperty::<SetIsSpecified>k__BackingField, ldloc:JsonProperty(property)))
517}
518
519 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
520 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
521 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
522 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
523 --- End of inner exception stack trace ---
524 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
525 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
526*/;
527 }
528
529 // Token: 0x0600061B RID: 1563 RVA: 0x0000FC8C File Offset: 0x0000DE8C
531 {
532 /*
533An exception occurred when decompiling this method (0600061B)
534
535ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Newtonsoft.Json.Serialization.JsonSerializerInternalReader::CalculatePropertyDetails(Newtonsoft.Json.Serialization.JsonProperty,Newtonsoft.Json.JsonConverter,Newtonsoft.Json.Serialization.JsonContainerContract,Newtonsoft.Json.Serialization.JsonProperty,Newtonsoft.Json.JsonReader,System.Object,System.Boolean,System.Object,Newtonsoft.Json.Serialization.JsonContract,System.Boolean)
536
537 ---> System.Exception: Basic block has to end with unconditional control flow.
538{
539 IL_010C:
540 stloc:JsonContract(var_24_112, ldfld:JsonContract(JsonProperty::<PropertyContract>k__BackingField, ldloc:JsonProperty(property)))
541}
542
543 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
544 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
545 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
546 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
547 --- End of inner exception stack trace ---
548 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
549 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
550*/;
551 }
552
553 // Token: 0x0600061C RID: 1564 RVA: 0x0000FDB0 File Offset: 0x0000DFB0
554 private void AddReference(JsonReader reader, string id, object value)
555 {
556 if (this.TraceWriter != null)
557 {
558 return;
559 }
561 }
562
563 // Token: 0x0600061D RID: 1565 RVA: 0x0000212A File Offset: 0x0000032A
565 {
566 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
567 }
568
569 // Token: 0x0600061E RID: 1566 RVA: 0x0000FE20 File Offset: 0x0000E020
571 {
572 NullValueHandling? <NullValueHandling>k__BackingField = property.<NullValueHandling>k__BackingField;
574 if (value == null)
575 {
576 }
577 DefaultValueHandling? <DefaultValueHandling>k__BackingField = property.<DefaultValueHandling>k__BackingField;
581 object resolvedDefaultValue = property.GetResolvedDefaultValue();
583 bool <Writable>k__BackingField = property.<Writable>k__BackingField;
584 return flag;
585 }
586
587 // Token: 0x0600061F RID: 1567 RVA: 0x0000FE8C File Offset: 0x0000E08C
589 {
590 if (contract.<CanDeserialize>k__BackingField)
591 {
592 if (contract._overrideCreator != null)
593 {
594 if (contract.<HasParameterizedCreator>k__BackingField)
595 {
597 return contract.CreateTemporaryCollection();
598 }
599 goto IL_0047;
600 }
601 else
602 {
603 if (!contract.IsReadOnlyOrFixedSize)
604 {
605 goto IL_0050;
606 }
608 IList list = contract.CreateTemporaryCollection();
609 if (contract.<ShouldCreateWrapper>k__BackingField)
610 {
611 goto IL_0047;
612 }
613 }
614 IL_008A:
615 bool <ShouldCreateWrapper>k__BackingField;
616 while (<ShouldCreateWrapper>k__BackingField)
617 {
618 }
619 while (<ShouldCreateWrapper>k__BackingField)
620 {
621 }
622 while (<ShouldCreateWrapper>k__BackingField)
623 {
624 }
625 if (!<ShouldCreateWrapper>k__BackingField)
626 {
627 }
629 if (this == null)
630 {
631 return "Could not create an instance of type {0}. Type is an interface or abstract class and cannot be instantiated.";
632 }
633 goto IL_00B7;
634 IL_0047:
636 IL_0050:
637 if (contract.<DefaultCreator>k__BackingField == null)
638 {
639 goto IL_008A;
640 }
641 if (contract.<DefaultCreatorNonPublic>k__BackingField)
642 {
644 }
645 <ShouldCreateWrapper>k__BackingField = contract.<ShouldCreateWrapper>k__BackingField;
646 if (<ShouldCreateWrapper>k__BackingField)
647 {
648 }
650 if (wrappedCollection == null)
651 {
652 goto IL_008A;
653 }
654 if (wrappedCollection == null)
655 {
656 throw new InvalidCastException();
657 }
658 goto IL_008A;
659 }
660 else
661 {
663 }
664 IL_00B7:
665 return "Unable to find a constructor to use for type {0}.";
666 }
667
668 // Token: 0x06000620 RID: 1568 RVA: 0x0000FF58 File Offset: 0x0000E158
670 {
671 for (;;)
672 {
673 if (contract._overrideCreator != null)
674 {
675 if (contract.<HasParameterizedCreator>k__BackingField)
676 {
677 break;
678 }
680 }
681 if (contract.IsReadOnlyOrFixedSize)
682 {
683 break;
684 }
685 bool <ShouldCreateWrapper>k__BackingField;
686 if (contract.<DefaultCreator>k__BackingField != null)
687 {
688 if (contract.<DefaultCreatorNonPublic>k__BackingField)
689 {
691 }
692 <ShouldCreateWrapper>k__BackingField = contract.<ShouldCreateWrapper>k__BackingField;
693 if (<ShouldCreateWrapper>k__BackingField)
694 {
695 }
697 if (wrappedDictionary == null)
698 {
699 goto IL_007C;
700 }
701 if (wrappedDictionary == null)
702 {
703 goto IL_007F;
704 }
705 }
706 while (<ShouldCreateWrapper>k__BackingField)
707 {
708 }
709 while (<ShouldCreateWrapper>k__BackingField)
710 {
711 }
712 while (<ShouldCreateWrapper>k__BackingField)
713 {
714 }
715 if (!<ShouldCreateWrapper>k__BackingField)
716 {
717 }
719 if (this == null)
720 {
721 goto Block_6;
722 }
723 }
725 return contract.CreateTemporaryDictionary();
726 Block_6:
727 return "Could not create an instance of type {0}. Type is an interface or abstract class and cannot be instantiated.";
728 IL_007C:
729 IL_007F:
730 throw new InvalidCastException();
731 }
732
733 // Token: 0x06000621 RID: 1569 RVA: 0x0000FFEC File Offset: 0x0000E1EC
735 {
736 if (this.TraceWriter != null)
737 {
738 return;
739 }
741 StreamingContext context = serializer._context;
743 contract.InvokeOnDeserializing(value, context);
744 }
745
746 // Token: 0x06000622 RID: 1570 RVA: 0x00010050 File Offset: 0x0000E250
748 {
749 if (this.TraceWriter != null)
750 {
751 return;
752 }
754 StreamingContext context = serializer._context;
756 contract.InvokeOnDeserialized(value, context);
757 }
758
759 // Token: 0x06000623 RID: 1571 RVA: 0x000100B4 File Offset: 0x0000E2B4
761 {
762 if (dictionary != null)
763 {
764 }
765 if (id != null)
766 {
767 }
768 if (contract.<KeyContract>k__BackingField == null)
769 {
770 Type <DictionaryKeyType>k__BackingField = contract.<DictionaryKeyType>k__BackingField;
771 JsonContract contractSafe = this.GetContractSafe(<DictionaryKeyType>k__BackingField);
772 contract.<KeyContract>k__BackingField = contractSafe;
773 }
774 if (contract._itemContract == null)
775 {
776 Type <DictionaryValueType>k__BackingField = contract.<DictionaryValueType>k__BackingField;
777 JsonContract contractSafe2 = this.GetContractSafe(<DictionaryValueType>k__BackingField);
779 }
780 if (contract.<ItemConverter>k__BackingField == null)
781 {
782 JsonContract itemContract = contract._itemContract;
783 }
784 if (contract.<KeyContract>k__BackingField != null)
785 {
786 }
788 string dateFormatString = reader._dateFormatString;
789 CultureInfo culture = reader.Culture;
790 string dateFormatString2 = reader._dateFormatString;
793 JsonContract <KeyContract>k__BackingField = contract.<KeyContract>k__BackingField;
794 Type <DictionaryKeyType>k__BackingField2 = contract.<DictionaryKeyType>k__BackingField;
795 object obj;
796 return obj;
797 }
798
799 // Token: 0x06000624 RID: 1572 RVA: 0x0000212A File Offset: 0x0000032A
801 {
802 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
803 }
804
805 // Token: 0x06000625 RID: 1573 RVA: 0x00010214 File Offset: 0x0000E414
806 private void ThrowUnexpectedEndException(JsonReader reader, JsonContract contract, object currentObject, string message)
807 {
809 base.ClearErrorContext();
810 }
811
812 // Token: 0x06000626 RID: 1574 RVA: 0x00010238 File Offset: 0x0000E438
814 {
816 for (;;)
817 {
818 if (list != null)
819 {
820 }
821 if (id != null)
822 {
823 }
824 reader.Skip();
825 if (contract._itemContract == null)
826 {
827 Type <CollectionItemType>k__BackingField = contract.<CollectionItemType>k__BackingField;
828 JsonContract contractSafe = this.GetContractSafe(<CollectionItemType>k__BackingField);
830 JsonContract itemContract = contract._itemContract;
831 }
832 JsonContract itemContract2 = contract._itemContract;
833 if (jsonConverter != null)
834 {
835 break;
836 }
837 Type <CollectionItemType>k__BackingField2 = contract.<CollectionItemType>k__BackingField;
838 JsonContract itemContract3 = contract._itemContract;
839 if (reader == null)
840 {
841 goto Block_2;
842 }
843 }
844 Type <CollectionItemType>k__BackingField3 = contract.<CollectionItemType>k__BackingField;
845 long num = 0L;
846 return this.DeserializeConvertable(jsonConverter, reader, <CollectionItemType>k__BackingField3, num);
847 Block_2:
848 throw new OutOfMemoryException();
849 }
850
851 // Token: 0x06000627 RID: 1575 RVA: 0x000102B8 File Offset: 0x0000E4B8
853 {
854 /*
855An exception occurred when decompiling this method (06000627)
856
857ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Object Newtonsoft.Json.Serialization.JsonSerializerInternalReader::CreateISerializable(Newtonsoft.Json.JsonReader,Newtonsoft.Json.Serialization.JsonISerializableContract,Newtonsoft.Json.Serialization.JsonProperty,System.String)
858
859 ---> System.Exception: Basic block has to end with unconditional control flow.
860{
861 IL_00D0:
862 stloc:CultureInfo(var_26_D8, callgetter:CultureInfo(CultureInfo::get_InvariantCulture))
863 stloc:string(var_27_E8, call:string(StringUtils::FormatWith, ldstr:string("ISerializable type '{0}' does not have a valid constructor. To correctly implement ISerializable a constructor that takes SerializationInfo and StreamingContext parameters should be present."), ldloc:CultureInfo[exp:IFormatProvider](var_26_D8), ldloc:class Newtonsoft.Json.Serialization.ObjectConstructor`1<object>[exp:object](var_12_68)))
864 stloc:JsonSerializationException(var_28_F2, call:JsonSerializationException(JsonSerializationException::Create, ldloc:JsonReader(reader), ldloc:string(var_27_E8)))
865}
866
867 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
868 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
869 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
870 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
871 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
872 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
873 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
874 --- End of inner exception stack trace ---
875 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
876 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
877*/;
878 }
879
880 // Token: 0x06000628 RID: 1576 RVA: 0x000103B8 File Offset: 0x0000E5B8
882 {
887 if (jsonConverter != null)
888 {
889 long num = 0L;
890 return this.DeserializeConvertable(jsonConverter, jsonReader, type, num);
891 }
892 object obj;
893 return obj;
894 }
895
896 // Token: 0x06000629 RID: 1577 RVA: 0x0000212A File Offset: 0x0000032A
898 {
899 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
900 }
901
902 // Token: 0x0600062A RID: 1578 RVA: 0x000103EC File Offset: 0x0000E5EC
903 private object DeserializeConvertable(JsonConverter converter, JsonReader reader, Type objectType, object existingValue)
904 {
905 /*
906An exception occurred when decompiling this method (0600062A)
907
908ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Object Newtonsoft.Json.Serialization.JsonSerializerInternalReader::DeserializeConvertable(Newtonsoft.Json.JsonConverter,Newtonsoft.Json.JsonReader,System.Type,System.Object)
909
910 ---> System.Exception: Basic block has to end with unconditional control flow.
911{
912 Block_1:
913 stloc:ITraceWriter(var_7_43, ldfld:ITraceWriter(JsonSerializerInternalBase::TraceWriter, ldloc:JsonSerializerInternalReader[exp:JsonSerializerInternalBase](this)))
914 stloc:CultureInfo(var_9_4D, callgetter:CultureInfo(CultureInfo::get_InvariantCulture))
915 stloc:Type(var_10_55, call:Type(object::GetType, ldloc:JsonConverter[exp:object](converter)))
916 stloc:string(var_11_66, call:string(StringUtils::FormatWith, ldstr:string("Finished deserializing {0} with converter {1}."), ldloc:CultureInfo[exp:IFormatProvider](var_9_4D), ldloc:Type[exp:object](objectType), ldloc:Type[exp:object](var_10_55)))
917}
918
919 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
920 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
921 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
922 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
923 --- End of inner exception stack trace ---
924 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
925 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
926*/;
927 }
928
929 // Token: 0x0600062B RID: 1579 RVA: 0x00010460 File Offset: 0x0000E660
931 {
932 /*
933An exception occurred when decompiling this method (0600062B)
934
935ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.List`1<Newtonsoft.Json.Serialization.JsonSerializerInternalReader/CreatorPropertyContext> Newtonsoft.Json.Serialization.JsonSerializerInternalReader::ResolvePropertyAndCreatorValues(Newtonsoft.Json.Serialization.JsonObjectContract,Newtonsoft.Json.Serialization.JsonProperty,Newtonsoft.Json.JsonReader,System.Type)
936
937 ---> System.Exception: Basic block has to end with unconditional control flow.
938{
939 IL_005A:
940 call:void(JsonReader::Skip, ldloc:JsonReader(reader))
941 stloc:CultureInfo(var_19_68, callgetter:CultureInfo(CultureInfo::get_InvariantCulture))
942 stloc:string(var_20_77, call:string(StringUtils::FormatWith, ldstr:string("Unexpected end when setting {0}'s value."), ldloc:CultureInfo[exp:IFormatProvider](var_19_68), ldloc:JsonReader[exp:object](reader)))
943 stloc:CultureInfo(var_22_81, callgetter:CultureInfo(CultureInfo::get_InvariantCulture))
944 stloc:string(var_23_92, call:string(StringUtils::FormatWith, ldstr:string("Could not find member '{0}' on object of type '{1}'"), ldloc:CultureInfo[exp:IFormatProvider](var_22_81), ldloc:JsonReader[exp:object](reader), ldloc:Type[exp:object](objectType)))
945 stloc:JsonSerializationException(var_24_9C, call:JsonSerializationException(JsonSerializationException::Create, ldloc:JsonReader(reader), ldloc:string(var_23_92)))
946}
947
948 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
949 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
950 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
951 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
952 --- End of inner exception stack trace ---
953 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
954 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
955*/;
956 }
957
958 // Token: 0x0600062C RID: 1580 RVA: 0x0001050C File Offset: 0x0000E70C
960 {
961 if (contract != null)
962 {
963 ReadType internalReadType = contract.InternalReadType;
964 }
965 return reader.ReadAndMoveToContent();
966 }
967
968 // Token: 0x0600062D RID: 1581 RVA: 0x00010538 File Offset: 0x0000E738
970 {
971 /*
972An exception occurred when decompiling this method (0600062D)
973
974ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Object Newtonsoft.Json.Serialization.JsonSerializerInternalReader::CreateNewObject(Newtonsoft.Json.JsonReader,Newtonsoft.Json.Serialization.JsonObjectContract,Newtonsoft.Json.Serialization.JsonProperty,Newtonsoft.Json.Serialization.JsonProperty,System.String,System.Boolean)
975
976 ---> System.Exception: Basic block has to end with unconditional control flow.
977{
978 IL_0096:
979 stloc:string(var_11_A4, call:string(StringUtils::FormatWith, ldstr:string("Unable to find a constructor to use for type {0}. A class should either have a default constructor, one constructor with arguments or a constructor marked with the JsonConstructor attribute."), ldloc:CultureInfo[exp:IFormatProvider](var_9_82), ldloc:Type[exp:object](var_10_8A)))
980 stloc:JsonSerializationException(var_12_AE, call:JsonSerializationException(JsonSerializationException::Create, ldloc:JsonReader(reader), ldloc:string(var_11_A4)))
981}
982
983 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
984 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
985 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
986 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
987 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
988 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
989 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
990 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
991 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
992 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
993 --- End of inner exception stack trace ---
994 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
995 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
996*/;
997 }
998
999 // Token: 0x0600062E RID: 1582 RVA: 0x000105F4 File Offset: 0x0000E7F4
1001 {
1002 this.OnDeserializing(reader, contract, newObject);
1003 bool hasRequiredOrDefaultValueProperties = contract.HasRequiredOrDefaultValueProperties;
1005 JsonPropertyCollection <Properties>k__BackingField;
1006 if (id == null)
1007 {
1008 <Properties>k__BackingField = contract.<Properties>k__BackingField;
1010 {
1011 }
1013 {
1014 }
1016 {
1017 }
1019 {
1020 }
1021 if (id == null)
1022 {
1023 goto IL_0041;
1024 }
1025 }
1026 this.AddReference(reader, id, newObject);
1027 IL_0041:
1028 JsonPropertyCollection <Properties>k__BackingField2 = contract.<Properties>k__BackingField;
1030 if (jsonProperty != null && !jsonProperty.<Ignored>k__BackingField)
1031 {
1032 bool flag = this.ShouldDeserialize(reader, jsonProperty, newObject);
1034 if (jsonProperty.<PropertyContract>k__BackingField == null)
1035 {
1036 Type propertyType = jsonProperty._propertyType;
1037 contractSafe = this.GetContractSafe(propertyType);
1038 jsonProperty.<PropertyContract>k__BackingField = contractSafe;
1039 }
1040 JsonConverter <MemberConverter>k__BackingField = jsonProperty.<MemberConverter>k__BackingField;
1041 JsonConverter converter = this.GetConverter(contractSafe, <MemberConverter>k__BackingField, contract, member);
1042 JsonContract <PropertyContract>k__BackingField = jsonProperty.<PropertyContract>k__BackingField;
1043 bool flag2 = this.SetPropertyValue(jsonProperty, converter, contract, member, reader, newObject);
1044 }
1045 if (this.TraceWriter != null)
1046 {
1049 Type <UnderlyingType>k__BackingField = contract.<UnderlyingType>k__BackingField;
1050 string text = "Could not find member '{0}' on {1}".FormatWith(invariantCulture, reader, <UnderlyingType>k__BackingField);
1051 }
1054 Type <UnderlyingType>k__BackingField2 = contract.<UnderlyingType>k__BackingField;
1055 string text2 = "Could not find member '{0}' on object of type '{1}'".FormatWith(invariantCulture2, reader, <UnderlyingType>k__BackingField2);
1058 string text3 = "Unexpected end when setting {0}'s value.".FormatWith(invariantCulture3, reader);
1060 this.ThrowUnexpectedEndException(reader, contract, newObject, "Unexpected end when deserializing object.");
1061 if (<Properties>k__BackingField != null)
1062 {
1063 }
1064 this.OnDeserialized(reader, contract, newObject);
1065 return newObject;
1066 }
1067
1068 // Token: 0x0600062F RID: 1583 RVA: 0x0001078C File Offset: 0x0000E98C
1069 private bool ShouldDeserialize(JsonReader reader, JsonProperty property, object target)
1070 {
1071 /*
1072An exception occurred when decompiling this method (0600062F)
1073
1074ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Newtonsoft.Json.Serialization.JsonSerializerInternalReader::ShouldDeserialize(Newtonsoft.Json.JsonReader,Newtonsoft.Json.Serialization.JsonProperty,System.Object)
1075
1076 ---> System.Exception: Basic block has to end with unconditional control flow.
1077{
1078 IL_0010:
1079 stloc:ITraceWriter(var_0_16, ldfld:ITraceWriter(JsonSerializerInternalBase::TraceWriter, ldloc:JsonSerializerInternalReader[exp:JsonSerializerInternalBase](this)))
1080 stloc:CultureInfo(var_2_1E, callgetter:CultureInfo(CultureInfo::get_InvariantCulture))
1081 stloc:string(var_3_25, ldfld:string(JsonProperty::_propertyName, ldloc:JsonProperty(property)))
1082 stloc:Type(var_4_2C, ldfld:Type(JsonProperty::<DeclaringType>k__BackingField, ldloc:JsonProperty(property)))
1083}
1084
1085 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
1086 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
1087 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
1088 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
1089 --- End of inner exception stack trace ---
1090 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
1091 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
1092*/;
1093 }
1094
1095 // Token: 0x06000630 RID: 1584 RVA: 0x000107CC File Offset: 0x0000E9CC
1096 private bool CheckPropertyName(JsonReader reader, string memberName)
1097 {
1099 bool flag = memberName == "$id";
1100 bool flag2 = memberName == "$ref";
1101 bool flag3 = memberName == "$type";
1102 bool flag4 = memberName == "$values";
1103 reader.Skip();
1104 return true;
1105 }
1106
1107 // Token: 0x06000631 RID: 1585 RVA: 0x0001081C File Offset: 0x0000EA1C
1108 private void SetExtensionData(JsonObjectContract contract, JsonProperty member, JsonReader reader, string memberName, object o)
1109 {
1110 if (contract.<ExtensionDataSetter>k__BackingField != null)
1111 {
1112 object obj = this.ReadExtensionDataValue(contract, member, reader);
1114 IntPtr method_code = <ExtensionDataSetter>k__BackingField.method_code;
1115 IntPtr invoke_impl = <ExtensionDataSetter>k__BackingField.invoke_impl;
1116 IntPtr method = <ExtensionDataSetter>k__BackingField.method;
1117 return;
1118 }
1119 reader.Skip();
1120 }
1121
1122 // Token: 0x06000632 RID: 1586 RVA: 0x00010888 File Offset: 0x0000EA88
1124 {
1125 if (contract.ExtensionDataIsJToken)
1126 {
1127 JToken jtoken = JToken.ReadFrom(reader);
1128 }
1129 object obj;
1130 return obj;
1131 }
1132
1133 // Token: 0x06000633 RID: 1587 RVA: 0x000108A8 File Offset: 0x0000EAA8
1135 {
1137 {
1138 Required? required = property._required;
1139 string propertyName;
1140 if (required != null)
1141 {
1143 {
1144 goto IL_0054;
1145 }
1146 if (required == null)
1147 {
1148 }
1150 propertyName = property._propertyName;
1151 string text = "Required property '{0}' expects a value but got null.".FormatWith(invariantCulture, propertyName);
1153 }
1154 Required? <ItemRequired>k__BackingField = contract.<ItemRequired>k__BackingField;
1155 JsonPropertyCollection <Properties>k__BackingField = contract.<Properties>k__BackingField;
1156 while (propertyName != null)
1157 {
1158 }
1159 IL_0054:
1160 if (!property.<Ignored>k__BackingField)
1161 {
1162 if (property.<PropertyContract>k__BackingField == null)
1163 {
1164 Type propertyType = property._propertyType;
1165 JsonContract contractSafe = this.GetContractSafe(propertyType);
1166 property.<PropertyContract>k__BackingField = contractSafe;
1167 }
1168 DefaultValueHandling? <DefaultValueHandling>k__BackingField = property.<DefaultValueHandling>k__BackingField;
1170 if (property.<Writable>k__BackingField)
1171 {
1172 IValueProvider <ValueProvider>k__BackingField = property.<ValueProvider>k__BackingField;
1173 object resolvedDefaultValue = property.GetResolvedDefaultValue();
1175 Type propertyType2 = property._propertyType;
1176 JsonContract <PropertyContract>k__BackingField = property.<PropertyContract>k__BackingField;
1177 return;
1178 }
1179 }
1180 }
1181 }
1182
1183 // Token: 0x06000634 RID: 1588 RVA: 0x00010A10 File Offset: 0x0000EC10
1191
1192 // Token: 0x06000635 RID: 1589 RVA: 0x00010A44 File Offset: 0x0000EC44
1193 private void HandleError(JsonReader reader, bool readPastError, int initialDepth)
1194 {
1195 base.ClearErrorContext();
1196 reader.Skip();
1197 }
1198
1199 // Token: 0x020000A9 RID: 169
1200 internal enum PropertyPresence
1201 {
1202 // Token: 0x040002C2 RID: 706
1203 None,
1204 // Token: 0x040002C3 RID: 707
1205 Null,
1206 // Token: 0x040002C4 RID: 708
1207 Value
1208 }
1209
1210 // Token: 0x020000AA RID: 170
1212 {
1213 // Token: 0x06000636 RID: 1590 RVA: 0x00010A60 File Offset: 0x0000EC60
1215 {
1216 }
1217
1218 // Token: 0x040002C5 RID: 709
1219 public string Name;
1220
1221 // Token: 0x040002C6 RID: 710
1223
1224 // Token: 0x040002C7 RID: 711
1226
1227 // Token: 0x040002C8 RID: 712
1229
1230 // Token: 0x040002C9 RID: 713
1231 public object Value;
1232
1233 // Token: 0x040002CA RID: 714
1234 public bool Used;
1235 }
1236
1237 // Token: 0x020000AB RID: 171
1239 private sealed class <>c__DisplayClass36_0
1240 {
1241 // Token: 0x06000637 RID: 1591 RVA: 0x00010A74 File Offset: 0x0000EC74
1243 {
1244 }
1245
1246 // Token: 0x06000638 RID: 1592 RVA: 0x00010A88 File Offset: 0x0000EC88
1248 {
1249 /*
1250An exception occurred when decompiling this method (06000638)
1251
1252ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Newtonsoft.Json.Serialization.JsonSerializerInternalReader/<>c__DisplayClass36_0::<CreateObjectUsingCreatorWithParameters>b__1(Newtonsoft.Json.Serialization.JsonSerializerInternalReader/CreatorPropertyContext)
1253
1254 ---> System.Exception: Basic block has to end with unconditional control flow.
1255{
1256 Block_0:
1257 stloc:JsonProperty(var_0_06, ldfld:JsonProperty(CreatorPropertyContext::Property, ldloc:CreatorPropertyContext(p)))
1258 stloc:JsonProperty(var_1_0D, ldfld:JsonProperty('<>c__DisplayClass36_0'::property, ldloc:'<>c__DisplayClass36_0'(this)))
1259}
1260
1261 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
1262 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
1263 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
1264 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
1265 --- End of inner exception stack trace ---
1266 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
1267 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
1268*/;
1269 }
1270
1271 // Token: 0x040002CB RID: 715
1272 public JsonProperty property;
1273 }
1274
1275 // Token: 0x020000AC RID: 172
1277 [Serializable]
1278 private sealed class <>c
1279 {
1280 // Token: 0x06000639 RID: 1593 RVA: 0x00010AA4 File Offset: 0x0000ECA4
1281 // Note: this type is marked as 'beforefieldinit'.
1282 static <>c()
1283 {
1284 }
1285
1286 // Token: 0x0600063A RID: 1594 RVA: 0x00010AB4 File Offset: 0x0000ECB4
1287 public <>c()
1288 {
1289 }
1290
1291 // Token: 0x0600063B RID: 1595 RVA: 0x00010AC8 File Offset: 0x0000ECC8
1293 {
1294 return p._propertyName;
1295 }
1296
1297 // Token: 0x0600063C RID: 1596 RVA: 0x00010ADC File Offset: 0x0000ECDC
1299 {
1300 return p._propertyName;
1301 }
1302
1303 // Token: 0x0600063D RID: 1597 RVA: 0x00010AF0 File Offset: 0x0000ECF0
1304 internal JsonProperty <PopulateObject>b__41_0(JsonProperty m)
1305 {
1306 return m;
1307 }
1308
1309 // Token: 0x0600063E RID: 1598 RVA: 0x00010B00 File Offset: 0x0000ED00
1311 {
1312 }
1313
1314 // Token: 0x040002CC RID: 716
1316
1317 // Token: 0x040002CD RID: 717
1318 public static Func<JsonProperty, string> <>9__36_0;
1319
1320 // Token: 0x040002CE RID: 718
1321 public static Func<JsonProperty, string> <>9__36_2;
1322
1323 // Token: 0x040002CF RID: 719
1325
1326 // Token: 0x040002D0 RID: 720
1327 public static Func<JsonProperty, JsonSerializerInternalReader.PropertyPresence> <>9__41_1;
1328 }
1329 }
1330}
class f__AnonymousType0<< Count > j__TPar
DateTimeZoneHandling _dateTimeZoneHandling
FloatParseHandling _floatParseHandling
DateParseHandling _dateParseHandling
static JsonSerializationException Create(JsonReader reader, string message)
DefaultValueHandling _defaultValueHandling
NullValueHandling _nullValueHandling
IReferenceResolver GetReferenceResolver()
ConstructorHandling _constructorHandling
IContractResolver _contractResolver
MissingMemberHandling _missingMemberHandling
static JToken ReadFrom(JsonReader reader)
Definition JToken.cs:1777
JsonReader CreateReader()
Definition JToken.cs:1692
bool ReadMetadataPropertiesToken(JTokenReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, object existingValue, [Out] object newValue, [Out] string id)
object CreateISerializable(JsonReader reader, JsonISerializableContract contract, JsonProperty member, string id)
void ResolveTypeName(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, string qualifiedTypeName)
object ReadExtensionDataValue(JsonObjectContract contract, JsonProperty member, JsonReader reader)
object DeserializeConvertable(JsonConverter converter, JsonReader reader, Type objectType, object existingValue)
void SetExtensionData(JsonObjectContract contract, JsonProperty member, JsonReader reader, string memberName, object o)
object CreateISerializableItem(JToken token, Type type, JsonISerializableContract contract, JsonProperty member)
IDictionary CreateNewDictionary(JsonReader reader, JsonDictionaryContract contract, [Out] bool createdFromNonDefaultCreator)
object Deserialize(JsonReader reader, Type objectType, bool checkAdditionalContent)
object PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, string id)
object PopulateMultidimensionalArray(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, string id)
bool SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, object target)
bool ReadForType(JsonReader reader, JsonContract contract, bool hasConverter)
bool ReadMetadataProperties(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, object existingValue, [Out] object newValue, [Out] string id)
JsonConverter GetConverter(JsonContract contract, JsonConverter memberConverter, JsonContainerContract containerContract, JsonProperty containerProperty)
bool CalculatePropertyDetails(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, object target, [Out] bool useExistingValue, [Out] object currentValue, [Out] JsonContract propertyContract, [Out] bool gottenCurrentValue)
void ThrowUnexpectedEndException(JsonReader reader, JsonContract contract, object currentObject, string message)
object CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, object existingValue)
object CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, object existingValue)
object CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, object existingValue, string id)
bool HasFlag(DefaultValueHandling value, DefaultValueHandling flag)
void AddReference(JsonReader reader, string id, object value)
JToken CreateJToken(JsonReader reader, JsonContract contract)
bool ShouldDeserialize(JsonReader reader, JsonProperty property, object target)
object CreateNewObject(JsonReader reader, JsonObjectContract objectContract, JsonProperty containerMember, JsonProperty containerProperty, string id, [Out] bool createdFromNonDefaultCreator)
object PopulateDictionary(IDictionary dictionary, JsonReader reader, JsonDictionaryContract contract, JsonProperty containerProperty, string id)
object EnsureType(JsonReader reader, object value, CultureInfo culture, JsonContract contract, Type targetType)
List< JsonSerializerInternalReader.CreatorPropertyContext > ResolvePropertyAndCreatorValues(JsonObjectContract contract, JsonProperty containerProperty, JsonReader reader, Type objectType)
void SetPropertyPresence(JsonReader reader, JsonProperty property, Dictionary< JsonProperty, JsonSerializerInternalReader.PropertyPresence > requiredProperties)
void OnDeserializing(JsonReader reader, JsonContract contract, object value)
static bool CoerceEmptyStringToNull(Type objectType, JsonContract contract, string s)
JsonArrayContract EnsureArrayContract(JsonReader reader, Type objectType, JsonContract contract)
void HandleError(JsonReader reader, bool readPastError, int initialDepth)
void OnDeserialized(JsonReader reader, JsonContract contract, object value)
object PopulateObject(object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, string id)
object CreateObjectUsingCreatorWithParameters(JsonReader reader, JsonObjectContract contract, JsonProperty containerProperty, ObjectConstructor< object > creator, string id)
void EndProcessProperty(object newObject, JsonReader reader, JsonObjectContract contract, int initialDepth, JsonProperty property, JsonSerializerInternalReader.PropertyPresence presence, bool setDefaultValue)
IList CreateNewList(JsonReader reader, JsonArrayContract contract, [Out] bool createdFromNonDefaultCreator)
static bool ValueEquals(object objA, object objB)
static void ArgumentNotNull(object value, string parameterName)
IntPtr method_code
Definition Delegate.cs:386
IntPtr invoke_impl
Definition Delegate.cs:371
static object ToObject(Type enumType, object value)
Definition Enum.cs:337
static CultureInfo InvariantCulture
new Type GetType()
Definition Type.cs:287
readonly StreamingContextStates m_state