public void write_modern_proc_type(modern_proc_type _modern_proc_type) { write_type_definition(_modern_proc_type); if (_modern_proc_type.aloneparam == null) { bw.Write((byte)0); } else { bw.Write((byte)1); _modern_proc_type.aloneparam.visit(this); } if (_modern_proc_type.el == null) { bw.Write((byte)0); } else { bw.Write((byte)1); _modern_proc_type.el.visit(this); } if (_modern_proc_type.res == null) { bw.Write((byte)0); } else { bw.Write((byte)1); _modern_proc_type.res.visit(this); } }
public override void visit(modern_proc_type _modern_proc_type) { if (_modern_proc_type.aloneparam != null) { _modern_proc_type.aloneparam.visit(this); if (_modern_proc_type.res != null) _modern_proc_type.res.visit(this); } else { foreach (enumerator en in _modern_proc_type.el.enumerators) { new named_type_reference(en.name.name, en.source_context).visit(this); } if (_modern_proc_type.res != null) _modern_proc_type.res.visit(this); } }
public void visit(modern_proc_type _modern_proc_type) { bw.Write((Int16)200); write_modern_proc_type(_modern_proc_type); }
public void read_modern_proc_type(modern_proc_type _modern_proc_type) { read_type_definition(_modern_proc_type); _modern_proc_type.aloneparam = _read_node() as type_definition; _modern_proc_type.el = _read_node() as enumerator_list; _modern_proc_type.res = _read_node() as type_definition; }
public override void visit(modern_proc_type _modern_proc_type) { template_type_reference ttr = new template_type_reference(); List<ident> names = new List<ident>(); if (_modern_proc_type.res != null) { names.Add(new ident("System")); names.Add(new ident("Func")); } else { names.Add(new ident("System")); names.Add(new ident("Action")); } ttr.name = new named_type_reference(names); ttr.source_context = _modern_proc_type.source_context; ttr.params_list = new template_param_list(); if (_modern_proc_type.aloneparam != null) { ttr.params_list.params_list.Add(_modern_proc_type.aloneparam); if (_modern_proc_type.res != null) ttr.params_list.params_list.Add(_modern_proc_type.res); } else { if (_modern_proc_type.el != null) foreach (enumerator en in _modern_proc_type.el.enumerators) { ttr.params_list.params_list.Add(en.name); // Здесь исправил SSM 15.1.16 } if (_modern_proc_type.res != null) ttr.params_list.params_list.Add(_modern_proc_type.res); } visit(ttr); }
public void visit(modern_proc_type _modern_proc_type) { read_modern_proc_type(_modern_proc_type); }
public override void visit(modern_proc_type _modern_proc_type) { if (_modern_proc_type.aloneparam != null) { visit_node(_modern_proc_type.aloneparam); add_space_before = false; add_space_after = false; visit_node(_modern_proc_type.res); } else { if (_modern_proc_type.el != null && _modern_proc_type.el.enumerators != null) { sb.Append("("); for (int i = 0; i < _modern_proc_type.el.enumerators.Count; i++) { visit_node(_modern_proc_type.el.enumerators[i]); } } else read_from_beg_pos = true; add_space_before = false; add_space_after = false; visit_node(_modern_proc_type.res); } }
public void CompareInternal(modern_proc_type left, modern_proc_type right) { if (left == null && right != null || left != null && right == null) throw_not_equal(left, right); if (left != null && right != null) { CompareInternal(left.el, right.el); } }
public override void visit(modern_proc_type _modern_proc_type) { if (_modern_proc_type.aloneparam != null) { visit_node(_modern_proc_type.aloneparam); add_space_before = false; add_space_after = false; visit_node(_modern_proc_type.res); } else { if (_modern_proc_type.el == null && _modern_proc_type.res == null) { int beg_pos = GetPosition(_modern_proc_type.source_context.begin_position.line_num, _modern_proc_type.source_context.begin_position.column_num); int end_pos = GetPosition(_modern_proc_type.source_context.end_position.line_num, _modern_proc_type.source_context.end_position.column_num); sb.Append(Text.Substring(beg_pos, end_pos - beg_pos + 1)); } else { if (_modern_proc_type.el != null && _modern_proc_type.el.enumerators != null) { sb.Append("("); for (int i = 0; i < _modern_proc_type.el.enumerators.Count; i++) { visit_node(_modern_proc_type.el.enumerators[i]); } } else read_from_beg_pos = true; add_space_before = false; add_space_after = false; visit_node(_modern_proc_type.res); } } }
public override void visit(modern_proc_type _modern_proc_type) { if (_modern_proc_type.aloneparam != null) { _modern_proc_type.aloneparam.visit(this); if (_modern_proc_type.res != null) _modern_proc_type.res.visit(this); } else { foreach (enumerator en in _modern_proc_type.el.enumerators) { en.name.visit(this); // Это исправил - SSM 15.1.16 } if (_modern_proc_type.res != null) _modern_proc_type.res.visit(this); } }