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
ReflectPropertyDescriptor.cs
Go to the documentation of this file.
1using System;
8
10{
11 // Token: 0x020003E9 RID: 1001
13 {
14 // Token: 0x06001A7A RID: 6778 RVA: 0x00049470 File Offset: 0x00047670
16 {
17 int num = 1;
18 base..ctor(name, attributes);
19 if (num == 0)
20 {
21 }
22 if (num == 0)
23 {
24 }
27 }
28
29 // Token: 0x06001A7B RID: 6779 RVA: 0x000494D0 File Offset: 0x000476D0
40
41 // Token: 0x06001A7C RID: 6780 RVA: 0x00049504 File Offset: 0x00047704
52
53 // Token: 0x06001A7D RID: 6781 RVA: 0x00049530 File Offset: 0x00047730
60
61 // Token: 0x17000617 RID: 1559
62 // (get) Token: 0x06001A7E RID: 6782 RVA: 0x00049584 File Offset: 0x00047784
63 private object AmbientValue
64 {
65 get
66 {
67 if (!true)
68 {
69 }
70 return this.ambientValue;
71 }
72 }
73
74 // Token: 0x17000618 RID: 1560
75 // (get) Token: 0x06001A7F RID: 6783 RVA: 0x000495B0 File Offset: 0x000477B0
77 {
78 get
79 {
80 if (!true)
81 {
82 }
83 return this.realChangedEvent;
84 }
85 }
86
87 // Token: 0x17000619 RID: 1561
88 // (get) Token: 0x06001A80 RID: 6784 RVA: 0x000495E8 File Offset: 0x000477E8
89 // (set) Token: 0x06001A81 RID: 6785 RVA: 0x00049618 File Offset: 0x00047818
91 {
92 get
93 {
94 int num = 1;
95 if (num == 0)
96 {
97 }
98 if (num == 0)
99 {
100 }
101 if (num == 0)
102 {
103 }
104 Type type;
107 return this.realIPropChangedEvent;
108 }
109 set
110 {
111 int num = 1;
113 if (num == 0)
114 {
115 }
116 }
117 }
118
119 // Token: 0x1700061A RID: 1562
120 // (get) Token: 0x06001A82 RID: 6786 RVA: 0x00049634 File Offset: 0x00047834
121 public override Type ComponentType
122 {
123 get
124 {
125 return this.componentClass;
126 }
127 }
128
129 // Token: 0x1700061B RID: 1563
130 // (get) Token: 0x06001A83 RID: 6787 RVA: 0x00049648 File Offset: 0x00047848
131 private object DefaultValue
132 {
133 get
134 {
135 int num = 1;
136 if (num == 0)
137 {
138 }
139 if (num == 0)
140 {
141 }
142 if (this != null)
143 {
144 this.defaultValue = this;
145 if (this != null)
146 {
147 Type type = this.defaultValue.GetType();
148 object obj = this.defaultValue;
149 object obj2;
151 return obj2;
152 }
153 }
154 return this.defaultValue;
155 }
156 }
157
158 // Token: 0x1700061C RID: 1564
159 // (get) Token: 0x06001A84 RID: 6788 RVA: 0x00049698 File Offset: 0x00047898
161 {
162 get
163 {
164 int num = 1;
165 if (num == 0)
166 {
167 }
168 if (num == 0)
169 {
170 }
171 Type type = this.receiverType;
172 if (num == 0)
173 {
174 }
180 Type type4 = this.receiverType;
181 if (type4 == null || type4 != null)
182 {
183 Type type5 = this.type;
186 throw new ArrayTypeMismatchException();
187 }
188 throw new ArrayTypeMismatchException();
189 }
190 }
191
192 // Token: 0x1700061D RID: 1565
193 // (get) Token: 0x06001A85 RID: 6789 RVA: 0x00049718 File Offset: 0x00047918
194 private bool IsExtender
195 {
196 get
197 {
198 Type type = this.receiverType;
199 if (!true)
200 {
201 }
202 bool flag;
203 return flag;
204 }
205 }
206
207 // Token: 0x1700061E RID: 1566
208 // (get) Token: 0x06001A86 RID: 6790 RVA: 0x00049730 File Offset: 0x00047930
209 public override bool IsReadOnly
210 {
211 get
212 {
214 return true;
215 }
216 }
217
218 // Token: 0x1700061F RID: 1567
219 // (get) Token: 0x06001A87 RID: 6791 RVA: 0x00049758 File Offset: 0x00047958
220 public override Type PropertyType
221 {
222 get
223 {
224 return this.type;
225 }
226 }
227
228 // Token: 0x17000620 RID: 1568
229 // (get) Token: 0x06001A88 RID: 6792 RVA: 0x0004976C File Offset: 0x0004796C
231 {
232 get
233 {
234 if (!true)
235 {
236 }
237 return this.resetMethod;
238 }
239 }
240
241 // Token: 0x17000621 RID: 1569
242 // (get) Token: 0x06001A89 RID: 6793 RVA: 0x000497C0 File Offset: 0x000479C0
244 {
245 get
246 {
247 int num = 1;
248 if (num == 0)
249 {
250 }
251 if (num == 0)
252 {
253 }
254 if (num == 0)
255 {
256 }
260 MethodInfo methodInfo2 = propertyInfo2.GetSetMethod();
262 Type type = this.receiverType;
268 Type type4 = this.receiverType;
269 if (type4 == null || type4 != null)
270 {
271 Type type5 = this.type;
272 if (type5 == null || type5 != null)
273 {
275 return methodInfo3;
276 }
277 }
278 throw new ArrayTypeMismatchException();
279 }
280 }
281
282 // Token: 0x17000622 RID: 1570
283 // (get) Token: 0x06001A8A RID: 6794 RVA: 0x0004987C File Offset: 0x00047A7C
285 {
286 get
287 {
288 if (!true)
289 {
290 }
291 return this.shouldSerializeMethod;
292 }
293 }
294
295 // Token: 0x06001A8B RID: 6795 RVA: 0x000498D0 File Offset: 0x00047AD0
296 public override void AddValueChanged(object component, EventHandler handler)
297 {
298 while (component != null)
299 {
300 if (handler != null)
301 {
302 if (this.ChangedEventValue != null)
303 {
304 return;
305 }
306 if (base.GetValueChangedHandler(component) != null || this.IPropChangedEventValue != null)
307 {
308 }
309 base.AddValueChanged(component, handler);
310 return;
311 }
312 }
313 }
314
315 // Token: 0x06001A8C RID: 6796 RVA: 0x00049908 File Offset: 0x00047B08
316 internal bool ExtenderCanResetValue(IExtenderProvider provider, object component)
317 {
318 object obj = this.DefaultValue;
319 object obj2 = this.ExtenderGetValue(provider, component);
320 object obj3 = this.defaultValue;
321 return object.Equals(obj2, obj3);
322 }
323
324 // Token: 0x06001A8D RID: 6797 RVA: 0x0004996C File Offset: 0x00047B6C
326 {
327 return this.receiverType;
328 }
329
330 // Token: 0x06001A8E RID: 6798 RVA: 0x00002050 File Offset: 0x00000250
332 {
333 throw new global::Cpp2IlInjected.AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
334 }
335
336 // Token: 0x06001A8F RID: 6799 RVA: 0x00049980 File Offset: 0x00047B80
337 internal object ExtenderGetValue(IExtenderProvider provider, object component)
338 {
339 if (provider != null)
340 {
341 Type type = this.componentClass;
342 if (this != null && this == null)
343 {
344 throw new InvalidCastException();
345 }
346 }
348 if (component == null || component != null)
349 {
350 object obj;
351 return obj;
352 }
353 throw new ArrayTypeMismatchException();
354 }
355
356 // Token: 0x06001A90 RID: 6800 RVA: 0x000499BC File Offset: 0x00047BBC
357 internal void ExtenderResetValue(IExtenderProvider provider, object component, PropertyDescriptor notifyDesc)
358 {
359 object obj = this.DefaultValue;
360 object obj2 = this.DefaultValue;
361 }
362
363 // Token: 0x06001A91 RID: 6801 RVA: 0x00049A68 File Offset: 0x00047C68
364 internal void ExtenderSetValue(IExtenderProvider provider, object component, object value, PropertyDescriptor notifyDesc)
365 {
366 if (provider == null)
367 {
368 return;
369 }
370 ISite site = MemberDescriptor.GetSite(component);
371 if (site != null)
372 {
373 return;
374 }
375 }
376
377 // Token: 0x06001A92 RID: 6802 RVA: 0x00049AF0 File Offset: 0x00047CF0
378 internal bool ExtenderShouldSerializeValue(IExtenderProvider provider, object component)
379 {
380 Type type = this.componentClass;
381 if (this != null && this == null)
382 {
383 throw new InvalidCastException();
384 }
386 if (component == null || component != null)
387 {
388 object obj = this.DefaultValue;
389 object obj2;
390 return object.Equals(this.DefaultValue, obj2);
391 }
392 throw new ArrayTypeMismatchException();
393 }
394
395 // Token: 0x06001A93 RID: 6803 RVA: 0x00049B6C File Offset: 0x00047D6C
396 public override bool CanResetValue(object component)
397 {
398 bool isExtender = this.IsExtender;
399 object obj = this.DefaultValue;
400 object obj2 = this.DefaultValue;
401 return object.Equals(this, obj2);
402 }
403
404 // Token: 0x06001A94 RID: 6804 RVA: 0x00049BC8 File Offset: 0x00047DC8
410
411 // Token: 0x06001A95 RID: 6805 RVA: 0x00049C9C File Offset: 0x00047E9C
412 public override object GetValue(object component)
413 {
414 bool isExtender = this.IsExtender;
415 if (component != null)
416 {
417 Type type = this.componentClass;
419 }
420 object obj;
421 return obj;
422 }
423
424 // Token: 0x06001A96 RID: 6806 RVA: 0x00049CE4 File Offset: 0x00047EE4
425 internal void OnINotifyPropertyChanged(object component, PropertyChangedEventArgs e)
426 {
428 int num;
429 if (num != 0)
430 {
431 return;
432 }
433 }
434
435 // Token: 0x06001A97 RID: 6807 RVA: 0x00049D00 File Offset: 0x00047F00
436 protected override void OnValueChanged(object component, EventArgs e)
437 {
438 if (!true)
439 {
440 }
441 if (this.realChangedEvent != null)
442 {
443 return;
444 }
445 base.OnValueChanged(component, e);
446 }
447
448 // Token: 0x06001A98 RID: 6808 RVA: 0x00049D24 File Offset: 0x00047F24
449 public override void RemoveValueChanged(object component, EventHandler handler)
450 {
451 while (component != null)
452 {
453 if (handler != null)
454 {
455 if (this.ChangedEventValue != null)
456 {
457 return;
458 }
459 base.RemoveValueChanged(component, handler);
460 if (base.GetValueChangedHandler(component) != null)
461 {
462 return;
463 }
464 if (this.IPropChangedEventValue != null)
465 {
466 return;
467 }
468 }
469 }
470 }
471
472 // Token: 0x06001A99 RID: 6809 RVA: 0x00049D5C File Offset: 0x00047F5C
473 public override void ResetValue(object component)
474 {
475 Type type = this.componentClass;
476 object obj = this.DefaultValue;
477 object obj2 = this.DefaultValue;
478 }
479
480 // Token: 0x06001A9A RID: 6810 RVA: 0x00049DE8 File Offset: 0x00047FE8
481 public override void SetValue(object component, object value)
482 {
483 if (component == null)
484 {
485 return;
486 }
487 ISite site = MemberDescriptor.GetSite(component);
488 Type type = this.componentClass;
489 if (site != null)
490 {
491 return;
492 }
493 }
494
495 // Token: 0x06001A9B RID: 6811 RVA: 0x00049E88 File Offset: 0x00048088
496 public override bool ShouldSerializeValue(object component)
497 {
498 Type type = this.componentClass;
501 object obj = this.DefaultValue;
502 return object.Equals(this.DefaultValue, this);
503 }
504
505 // Token: 0x17000623 RID: 1571
506 // (get) Token: 0x06001A9C RID: 6812 RVA: 0x00049EDC File Offset: 0x000480DC
507 public override bool SupportsChangeEvents
508 {
509 get
510 {
511 /*
512An exception occurred when decompiling this method (06001A9C)
513
514ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.ComponentModel.ReflectPropertyDescriptor::get_SupportsChangeEvents()
515
516 ---> System.Exception: Basic block has to end with unconditional control flow.
517{
518 IL_000A:
519 stloc:EventDescriptor(var_0_10, callgetter:EventDescriptor(ReflectPropertyDescriptor::get_ChangedEventValue, ldloc:ReflectPropertyDescriptor(this)))
520}
521
522 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
523 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
524 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
525 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
526 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
527 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
528 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
529 --- End of inner exception stack trace ---
530 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
531 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
532*/;
533 }
534 }
535
536 // Token: 0x06001A9D RID: 6813 RVA: 0x00049EFC File Offset: 0x000480FC
537 // Note: this type is marked as 'beforefieldinit'.
539 {
540 int num = global::System.Collections.Specialized.BitVector32.CreateMask(global::System.Collections.Specialized.BitVector32.CreateMask(global::System.Collections.Specialized.BitVector32.CreateMask(global::System.Collections.Specialized.BitVector32.CreateMask(global::System.Collections.Specialized.BitVector32.CreateMask(global::System.Collections.Specialized.BitVector32.CreateMask(global::System.Collections.Specialized.BitVector32.CreateMask(global::System.Collections.Specialized.BitVector32.CreateMask(global::System.Collections.Specialized.BitVector32.CreateMask(global::System.Collections.Specialized.BitVector32.CreateMask())))))))));
541 }
542
543 // Token: 0x0400131B RID: 4891
544 private static readonly Type[] argsNone;
545
546 // Token: 0x0400131C RID: 4892
547 private static readonly object noValue;
548
549 // Token: 0x0400131D RID: 4893
550 private static global::System.Diagnostics.TraceSwitch PropDescCreateSwitch;
551
552 // Token: 0x0400131E RID: 4894
553 private static global::System.Diagnostics.TraceSwitch PropDescUsageSwitch;
554
555 // Token: 0x0400131F RID: 4895
557
558 // Token: 0x04001320 RID: 4896
559 private static readonly int BitGetQueried;
560
561 // Token: 0x04001321 RID: 4897
562 private static readonly int BitSetQueried;
563
564 // Token: 0x04001322 RID: 4898
566
567 // Token: 0x04001323 RID: 4899
568 private static readonly int BitResetQueried;
569
570 // Token: 0x04001324 RID: 4900
571 private static readonly int BitChangedQueried;
572
573 // Token: 0x04001325 RID: 4901
575
576 // Token: 0x04001326 RID: 4902
577 private static readonly int BitReadOnlyChecked;
578
579 // Token: 0x04001327 RID: 4903
581
582 // Token: 0x04001328 RID: 4904
583 private static readonly int BitSetOnDemand;
584
585 // Token: 0x04001329 RID: 4905
586 private global::System.Collections.Specialized.BitVector32 state;
587
588 // Token: 0x0400132A RID: 4906
590
591 // Token: 0x0400132B RID: 4907
592 private Type type;
593
594 // Token: 0x0400132C RID: 4908
595 private object defaultValue;
596
597 // Token: 0x0400132D RID: 4909
598 private object ambientValue;
599
600 // Token: 0x0400132E RID: 4910
602
603 // Token: 0x0400132F RID: 4911
605
606 // Token: 0x04001330 RID: 4912
608
609 // Token: 0x04001331 RID: 4913
611
612 // Token: 0x04001332 RID: 4914
614
615 // Token: 0x04001333 RID: 4915
617
618 // Token: 0x04001334 RID: 4916
620
621 // Token: 0x04001335 RID: 4917
623 }
624}
class f__AnonymousType0<< Count > j__TPar
static ISite GetSite(object component)
void ExtenderSetValue(IExtenderProvider provider, object component, object value, PropertyDescriptor notifyDesc)
ReflectPropertyDescriptor(Type componentClass, string name, Type type, Attribute[] attributes)
void OnINotifyPropertyChanged(object component, PropertyChangedEventArgs e)
ReflectPropertyDescriptor(Type componentClass, string name, Type type, PropertyInfo propInfo, MethodInfo getMethod, MethodInfo setMethod, Attribute[] attrs)
void ExtenderResetValue(IExtenderProvider provider, object component, PropertyDescriptor notifyDesc)
ReflectPropertyDescriptor(Type componentClass, PropertyDescriptor oldReflectPropertyDescriptor, Attribute[] attributes)
bool ExtenderCanResetValue(IExtenderProvider provider, object component)
object ExtenderGetValue(IExtenderProvider provider, object component)
override void RemoveValueChanged(object component, EventHandler handler)
override void SetValue(object component, object value)
bool ExtenderShouldSerializeValue(IExtenderProvider provider, object component)
static global::System.Diagnostics.TraceSwitch PropDescUsageSwitch
override void AddValueChanged(object component, EventHandler handler)
global::System.Collections.Specialized.BitVector32 state
static global::System.Diagnostics.TraceSwitch PropDescCreateSwitch
override void OnValueChanged(object component, EventArgs e)
ReflectPropertyDescriptor(Type componentClass, string name, Type type, Type receiverType, MethodInfo getMethod, MethodInfo setMethod, Attribute[] attrs)
static EventDescriptorCollection GetEvents(Type componentType)
static CultureInfo InvariantCulture