public bool Remove(const_definition el) { return const_defs.Remove(el); }
public void ReplaceInList(const_definition el, const_definition newel) { const_defs[FindIndexInList(el)] = newel; }
public consts_definitions_list(const_definition _const_definition, SourceContext sc) { Add(_const_definition,sc); }
public void InsertBefore(const_definition el, IEnumerable<const_definition> newels) { const_defs.InsertRange(FindIndex(el), newels); }
public override void visit(const_definition _const_definition) { throw new Exception("The method or operation is not implemented."); }
public void visit(const_definition _const_definition) { bw.Write((Int16)48); write_const_definition(_const_definition); }
public void AddFirst(const_definition el) { const_defs.Insert(0, el); }
public void visit(const_definition _const_definition) { read_const_definition(_const_definition); }
// Конструкторы списка public consts_definitions_list(const_definition elem, SourceContext sc = null) { Add(elem, sc); }
// Методы списка public consts_definitions_list Add(const_definition elem, SourceContext sc = null) { const_defs.Add(elem); if (sc != null) source_context = sc; return this; }
public override void visit(const_definition _const_definition) { connect(_const_definition); }
public consts_definitions_list Add(const_definition _const_definition, SourceContext sc) { const_defs.Add(_const_definition); source_context = sc; return this; }
public consts_definitions_list Add(const_definition _const_definition) { const_defs.Add(_const_definition); return this; }
public void ReplaceInList(const_definition el, IEnumerable<const_definition> newels) { var ind = FindIndexInList(el); const_defs.RemoveAt(ind); const_defs.InsertRange(ind, newels); }
private int FindIndexInList(const_definition el) { var ind = const_defs.FindIndex(x => x == el); if (ind == -1) throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; }
public override void visit(const_definition _const_definition) { prepare_node(_const_definition.const_name,"const name"); prepare_node(_const_definition.const_value,"const value"); }
public void InsertAfter(const_definition el, const_definition newel) { const_defs.Insert(FindIndex(el) + 1, newel); }
public void read_const_definition(const_definition _const_definition) { read_declaration(_const_definition); _const_definition.const_name = _read_node() as ident; _const_definition.const_value = _read_node() as expression; }
public void InsertAfter(const_definition el, IEnumerable<const_definition> newels) { const_defs.InsertRange(FindIndex(el) + 1, newels); }
public override void visit(const_definition _const_definition) { throw new NotImplementedException(); }
public void InsertBefore(const_definition el, const_definition newel) { const_defs.Insert(FindIndex(el), newel); }
public void write_const_definition(const_definition _const_definition) { write_declaration(_const_definition); if (_const_definition.const_name == null) { bw.Write((byte)0); } else { bw.Write((byte)1); _const_definition.const_name.visit(this); } if (_const_definition.const_value == null) { bw.Write((byte)0); } else { bw.Write((byte)1); _const_definition.const_value.visit(this); } }
public override void visit(const_definition _const_definition) { }