/// <summary>
 /// Конструктор класса.
 /// </summary>
 /// <param name="condition">Условие.</param>
 /// <param name="then_body">Тело then.</param>
 /// <param name="else_body">Тело else.</param>
 /// <param name="loc">Расположение узла.</param>
 public if_node(expression_node condition, statement_node then_body, statement_node else_body, location loc) :
     base(loc)
 {
     _condition = condition;
     _then_body = then_body;
     _else_body = else_body;
 }
 public exception_filter(type_node filter_type, local_block_variable_reference exception_var,
                         statement_node exception_handler, location loc) : base(loc)
 {
     _filter_type       = filter_type;
     _exception_var     = exception_var;
     _exception_handler = exception_handler;
 }
 public try_block(statement_node try_statements, statement_node finally_statements,
                  exception_filters_list filters, location loc)
     : base(loc)
 {
     _try_statements     = try_statements;
     _finally_statements = finally_statements;
     _filters            = filters;
 }
 /// <summary>
 /// Конструктор клааса.
 /// </summary>
 /// <param name="initialization_statement">Выражение инициализации переменной цикла.</param>
 /// <param name="while_expr">Условие цикла.</param>
 /// <param name="increment_statement">Выражение измененияя счетчика цикла.</param>
 /// <param name="body">Тело цикла.</param>
 public for_node(statement_node initialization_statement, expression_node while_expr, expression_node init_while_expr,
                 statement_node increment_statement, statement_node body, location loc) : base(loc)
 {
     _initialization_statement = initialization_statement;
     _while_expr          = while_expr;
     _init_while_expr     = init_while_expr;
     _increment_statement = increment_statement;
     _body = body;
 }
 /// <summary>
 /// Конструктор узла.
 /// </summary>
 /// <param name="body">Тело цикла.</param>
 /// <param name="condition">Условие.</param>
 /// <param name="loc">Расположение узла.</param>
 public repeat_node(statement_node body, expression_node condition, location loc) : base(loc)
 {
     _body      = body;
     _condition = condition;
 }
 /// <summary>
 /// Конструктор класса.
 /// </summary>
 /// <param name="condition">Условие цикла.</param>
 /// <param name="body">Тело цикла.</param>
 /// <param name="loc">Расположение узла.</param>
 public while_node(expression_node condition, statement_node body, location loc) : base(loc)
 {
     _condition = condition;
     _body      = body;
 }
 public lock_statement(expression_node _lock_object, statement_node _body, location loc)
     : base(loc)
 {
     this._lock_object = _lock_object;
     this._body        = _body;
 }
 public foreach_node(var_definition_node _ident, expression_node _in_what, statement_node _what_do, location loc) : base(loc)
 {
     this._ident   = _ident;
     this._in_what = _in_what;
     this._what_do = _what_do;
 }
 public labeled_statement(label_node v_label, statement_node v_statement, location v_location)
     : base(v_location)
 {
     _label     = v_label;
     _statement = v_statement;
 }