// Token: 0x0600263D RID: 9789 RVA: 0x0008B7AC File Offset: 0x000899AC private void Change(global::VisClass.Rep.Setting setting) { if (setting.isInherited) { global::VisQuery valueSet = setting.valueSet; setting = (this.dict[setting.name] = setting.Override(this.klass)); setting.isInherited = false; setting.valueSet = valueSet; Array.Resize <string>(ref this.klass.keys, this.klass.keys.Length + 1); Array.Resize <global::VisQuery>(ref this.klass.values, this.klass.values.Length + 1); this.klass.keys[this.klass.keys.Length - 1] = setting.name; this.klass.values[this.klass.values.Length - 1] = valueSet; } else { for (int i = 0; i < this.klass.keys.Length; i++) { if (this.klass.keys[i] == setting.name) { this.klass.values[i] = setting.query; break; } } } }
// Token: 0x0600263C RID: 9788 RVA: 0x0008B690 File Offset: 0x00089890 private void Remove(global::VisClass.Rep.Setting setting) { for (int i = 0; i < this.klass.keys.Length; i++) { if (this.klass.keys[i] == setting.name) { int num = i; while (++num < this.klass.keys.Length) { this.klass.keys[num - 1] = this.klass.keys[num]; this.klass.values[num - 1] = this.klass.values[num]; } Array.Resize <string>(ref this.klass.keys, this.klass.keys.Length - 1); Array.Resize <global::VisQuery>(ref this.klass.values, this.klass.values.Length - 1); break; } } if (setting.isOverride) { this.dict[setting.name] = setting.MoveBack(); } else { this.dict.Remove(setting.name); } }
// Token: 0x06002642 RID: 9794 RVA: 0x0008B9D4 File Offset: 0x00089BD4 internal global::VisClass.Rep.Setting Override(global::VisClass klass) { global::VisClass.Rep.Setting setting = (global::VisClass.Rep.Setting)base.MemberwiseClone(); setting._inheritedClass = klass; setting._hasSuper = true; setting._inheritSetting = this; return(setting); }
// Token: 0x06002639 RID: 9785 RVA: 0x0008B464 File Offset: 0x00089664 private static bool MarkModified(global::VisClass.Rep.Setting setting) { if (global::VisClass.Rep.building) { return(false); } setting.rep.modifiedSettings.Add(setting); return(true); }
// Token: 0x0600263A RID: 9786 RVA: 0x0008B488 File Offset: 0x00089688 internal static void Recur(ref global::VisClass.Rep rep, global::VisClass klass) { if (klass._super) { global::VisClass.Rep.Recur(ref rep, klass._super); foreach (global::VisClass.Rep.Setting setting in rep.dict.Values) { setting.isInherited = true; } for (int i = 0; i < klass.keys.Length; i++) { string text = klass.keys[i]; if (!string.IsNullOrEmpty(text)) { global::VisQuery visQuery = klass.values[i]; global::VisClass.Rep.Setting setting2; if (!rep.dict.TryGetValue(text, out setting2)) { if (visQuery == null) { goto IL_F7; } setting2 = new global::VisClass.Rep.Setting(text, klass, rep); rep.dict.Add(text, setting2); } else { setting2 = (rep.dict[text] = setting2.Override(klass)); } setting2.isInherited = false; setting2.query = visQuery; } IL_F7 :; } } else { rep = new global::VisClass.Rep(); rep.klass = global::VisClass.Rep.nklass; rep.dict = new Dictionary <string, global::VisClass.Rep.Setting>(); for (int j = 0; j < klass.keys.Length; j++) { string text2 = klass.keys[j]; if (!string.IsNullOrEmpty(text2)) { global::VisQuery visQuery2 = klass.values[j]; if (!(visQuery2 == null)) { global::VisClass.Rep.Setting setting3 = new global::VisClass.Rep.Setting(text2, klass, rep); setting3.query = visQuery2; rep.dict.Add(text2, setting3); } } } } }