// Token: 0x0600155D RID: 5469 RVA: 0x000662D4 File Offset: 0x000644D4 private bool pmethod_3929(Class_296 arg_0, object obje_0, Class_447 arg_1, Class_454 arg_2, Class_350 arg_3, Class_454 arg_4) { bool flag = this.kmethod_3907(arg_1, arg_2, arg_3, arg_4) ?? this.gmethod_3923(this.field_3.field_2, Class_375.Arrays); bool flag2 = this.gmethod_3933(Class_494.Arrays, arg_1, arg_2, arg_3, arg_4); bool flag3 = flag || flag2; if (flag3) { arg_0.kmethod_2007(); if (flag) { this.smethod_3920(arg_0, arg_1.prop_0, obje_0); } if (flag2) { this.xmethod_3921(arg_0, obje_0.GetType()); } arg_0.cmethod_2014("$values", false); } if (arg_1.prop_0 == null) { arg_1.prop_0 = this.field_3.field_11.tmethod_3542(arg_1.prop_0 ?? typeof(object)); } return(flag3); }
// Token: 0x0600155C RID: 5468 RVA: 0x000661A8 File Offset: 0x000643A8 private void lmethod_3928(Class_296 arg_0, Array arg_1, Class_447 arg_2, Class_454 arg_3, int sayıInt_0, int[] ıntSayıDizi_0) { int num = ıntSayıDizi_0.Length; int[] array = new int[num + 1]; for (int i = 0; i < num; i++) { array[i] = ıntSayıDizi_0[i]; } arg_0.pmethod_2009(); int j = 0; while (j < arg_1.GetLength(num)) { array[num] = j; bool flag = array.Length == arg_1.Rank; if (flag) { object value = arg_1.GetValue(array); try { Class_349 class_ = arg_2.prop_1 ?? this.cmethod_3904(value); if (this.lmethod_3908(value, null, class_, arg_2, arg_3)) { this.xmethod_3911(arg_0, value); } else if (this.smethod_3910(arg_0, value, null, class_, arg_2, arg_3)) { this.dmethod_3906(arg_0, value, class_, null, arg_2, arg_3); } goto IL_F7; } catch (Exception arg_4) { if (base.smethod_3850(arg_1, arg_2, j, null, arg_0.prop_3, arg_4)) { this.dmethod_3936(arg_0, sayıInt_0 + 1); goto IL_F7; } throw; } goto IL_E7; } goto IL_E7; IL_F7: j++; continue; IL_E7: this.lmethod_3928(arg_0, arg_1, arg_2, arg_3, sayıInt_0 + 1, array); goto IL_F7; } arg_0.smethod_2010(); }
// Token: 0x0600155B RID: 5467 RVA: 0x00066130 File Offset: 0x00064330 private void kmethod_3927(Class_296 arg_0, Array arg_1, Class_447 arg_2, Class_454 arg_3, Class_350 arg_4, Class_454 arg_5) { this.vmethod_3915(arg_0, arg_2, arg_1); this.field_2.Add(arg_1); bool flag = this.pmethod_3929(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); this.lmethod_3928(arg_0, arg_1, arg_2, arg_3, arg_0.prop_1, new int[0]); if (flag) { arg_0.lmethod_2008(); } this.field_2.RemoveAt(this.field_2.Count - 1); this.dmethod_3916(arg_0, arg_2, arg_1); }
// Token: 0x0600155A RID: 5466 RVA: 0x00065F98 File Offset: 0x00064198 private void dmethod_3926(Class_296 arg_0, IEnumerable arg_1, Class_447 arg_2, Class_454 arg_3, Class_350 arg_4, Class_454 arg_5) { Class_500 class_ = arg_1 as Class_500; object obj = (class_ != null) ? class_.prop_0 : arg_1; this.vmethod_3915(arg_0, arg_2, obj); this.field_2.Add(obj); bool flag = this.pmethod_3929(arg_0, obj, arg_2, arg_3, arg_4, arg_5); arg_0.pmethod_2009(); int sayıInt_ = arg_0.prop_1; int num = 0; foreach (object obje_ in arg_1) { try { Class_349 class_2 = arg_2.prop_1 ?? this.cmethod_3904(obje_); if (this.lmethod_3908(obje_, null, class_2, arg_2, arg_3)) { this.xmethod_3911(arg_0, obje_); } else if (this.smethod_3910(arg_0, obje_, null, class_2, arg_2, arg_3)) { this.dmethod_3906(arg_0, obje_, class_2, null, arg_2, arg_3); } } catch (Exception arg_6) { if (!base.smethod_3850(obj, arg_2, num, null, arg_0.prop_3, arg_6)) { throw; } this.dmethod_3936(arg_0, sayıInt_); } finally { num++; } } arg_0.smethod_2010(); if (flag) { arg_0.lmethod_2008(); } this.field_2.RemoveAt(this.field_2.Count - 1); this.dmethod_3916(arg_0, arg_2, obj); }
// Token: 0x06001546 RID: 5446 RVA: 0x0006521C File Offset: 0x0006341C private void dmethod_3906(Class_296 arg_0, object obje_0, Class_349 arg_1, Class_454 arg_2, Class_350 arg_3, Class_454 arg_4) { if (obje_0 == null) { arg_0.gmethod_2033(); return; } Class_299 class_; if ((class_ = ((arg_2 != null) ? arg_2.prop_8 : null)) == null && (class_ = ((arg_4 != null) ? arg_4.prop_25 : null)) == null && (class_ = ((arg_3 != null) ? arg_3.prop_2 : null)) == null && (class_ = arg_1.prop_3) == null) { class_ = (this.field_3.smethod_3180(arg_1.prop_0) ?? arg_1.prop_4); } Class_299 class_2 = class_; if (class_2 != null && class_2.prop_1) { this.vmethod_3925(arg_0, class_2, obje_0, arg_1, arg_3, arg_4); return; } switch (arg_1.field_5) { case Class_448.Object: this.kmethod_3917(arg_0, obje_0, (Class_464)arg_1, arg_2, arg_3, arg_4); return; case Class_448.Array: { Class_447 class_3 = (Class_447)arg_1; if (!class_3.prop_1) { this.dmethod_3926(arg_0, (IEnumerable)obje_0, class_3, arg_2, arg_3, arg_4); return; } this.kmethod_3927(arg_0, (Array)obje_0, class_3, arg_2, arg_3, arg_4); return; } case Class_448.Primitive: this.vmethod_3905(arg_0, obje_0, (Class_369)arg_1, arg_2, arg_3, arg_4); return; case Class_448.String: this.cmethod_3914(arg_0, obje_0, (Class_469)arg_1); return; case Class_448.Dictionary: { Class_453 class_4 = (Class_453)arg_1; this.cmethod_3934(arg_0, (obje_0 is IDictionary) ? ((IDictionary)obje_0) : class_4.pmethod_3639(obje_0), class_4, arg_2, arg_3, arg_4); return; } case Class_448.Dynamic: this.xmethod_3931(arg_0, (IDynamicMetaObjectProvider)obje_0, (Class_365)arg_1, arg_2, arg_3, arg_4); return; case Class_448.Serializable: this.smethod_3930(arg_0, (ISerializable)obje_0, (Class_367)arg_1, arg_2, arg_3, arg_4); return; case Class_448.Linq: ((Class_361)obje_0).cmethod_2474(arg_0, this.field_3.prop_13.ToArray <Class_299>()); return; default: return; } }