Mercurial > octave-nkf
view libinterp/parse-tree/pt-select.cc @ 19895:19755f4fc851
maint: Cleanup C++ code to follow Octave coding conventions.
Try to wrap long lines to < 80 characters.
Use GNU style and don't indent first brace of function definition.
"case" statement is aligned flush left with brace of switch stmt.
Remove trailing '\' line continuation from the end of #define macros.
Use 2 spaces for indent.
* files-dock-widget.cc, history-dock-widget.cc, main-window.cc, octave-cmd.cc,
octave-dock-widget.cc, octave-gui.cc, resource-manager.cc, settings-dialog.cc,
shortcut-manager.cc, welcome-wizard.cc, workspace-view.cc, cellfun.cc, data.cc,
debug.cc, debug.h, dirfns.cc, error.h, file-io.cc, gl-render.cc, gl-render.h,
gl2ps-renderer.h, graphics.cc, graphics.in.h, help.cc, input.cc, load-path.cc,
load-path.h, lookup.cc, lu.cc, oct-stream.cc, octave-default-image.h,
ordschur.cc, pr-output.cc, qz.cc, strfns.cc, symtab.cc, symtab.h, sysdep.cc,
variables.cc, zfstream.h, __fltk_uigetfile__.cc, __init_fltk__.cc,
__magick_read__.cc, __osmesa_print__.cc, audiodevinfo.cc, ov-classdef.cc,
ov-classdef.h, ov-fcn.h, ov-float.cc, ov-flt-complex.cc, ov-java.cc,
ov-range.cc, ov-re-mat.cc, ov-usr-fcn.h, ov.cc, op-int.h, options-usage.h,
pt-eval.cc, Array-C.cc, Array-fC.cc, Array.cc, Array.h, PermMatrix.cc,
Sparse.cc, chMatrix.h, dSparse.cc, dim-vector.h, bsxfun-decl.h, bsxfun-defs.cc,
oct-norm.cc, Sparse-op-defs.h, oct-inttypes.cc, oct-inttypes.h, main.in.cc,
mkoctfile.in.cc: Cleanup C++ code to follow Octave coding conventions.
author | Rik <rik@octave.org> |
---|---|
date | Wed, 25 Feb 2015 11:55:49 -0800 |
parents | 4197fc428c7d |
children | f90c8372b7ba |
line wrap: on
line source
/* Copyright (C) 1996-2015 John W. Eaton This file is part of Octave. Octave is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Octave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Octave; see the file COPYING. If not, see <http://www.gnu.org/licenses/>. */ #ifdef HAVE_CONFIG_H #include <config.h> #endif #include "error.h" #include "oct-obj.h" #include "ov.h" #include "pt-cmd.h" #include "pt-exp.h" #include "pt-select.h" #include "pt-stmt.h" #include "pt-walk.h" #include "Cell.h" #include "ov-typeinfo.h" // If clauses. tree_if_clause::~tree_if_clause (void) { delete expr; delete list; delete lead_comm; } tree_if_clause * tree_if_clause::dup (symbol_table::scope_id scope, symbol_table::context_id context) const { return new tree_if_clause (expr ? expr->dup (scope, context) : 0, list ? list->dup (scope, context) : 0, lead_comm ? lead_comm->dup () : 0); } void tree_if_clause::accept (tree_walker& tw) { tw.visit_if_clause (*this); } // List of if commands. tree_if_command_list * tree_if_command_list::dup (symbol_table::scope_id scope, symbol_table::context_id context) const { tree_if_command_list *new_icl = new tree_if_command_list (); for (const_iterator p = begin (); p != end (); p++) { const tree_if_clause *elt = *p; new_icl->append (elt ? elt->dup (scope, context) : 0); } return new_icl; } void tree_if_command_list::accept (tree_walker& tw) { tw.visit_if_command_list (*this); } // If. tree_if_command::~tree_if_command (void) { delete list; delete lead_comm; delete trail_comm; } tree_command * tree_if_command::dup (symbol_table::scope_id scope, symbol_table::context_id context) const { return new tree_if_command (list ? list->dup (scope, context) : 0, lead_comm ? lead_comm->dup () : 0, trail_comm ? trail_comm->dup () : 0, line (), column ()); } void tree_if_command::accept (tree_walker& tw) { tw.visit_if_command (*this); } // Switch cases. tree_switch_case::~tree_switch_case (void) { delete label; delete list; delete lead_comm; } bool tree_switch_case::label_matches (const octave_value& val) { octave_value label_value = label->rvalue1 (); if (! error_state && label_value.is_defined ()) { if (label_value.is_cell ()) { Cell cell (label_value.cell_value ()); for (octave_idx_type i = 0; i < cell.rows (); i++) { for (octave_idx_type j = 0; j < cell.columns (); j++) { bool match = val.is_equal (cell(i,j)); if (error_state) return false; else if (match) return true; } } } else { bool match = val.is_equal (label_value); if (error_state) return false; else return match; } } return false; } tree_switch_case * tree_switch_case::dup (symbol_table::scope_id scope, symbol_table::context_id context) const { return new tree_switch_case (label ? label->dup (scope, context) : 0, list ? list->dup (scope, context) : 0, lead_comm ? lead_comm->dup () : 0); } void tree_switch_case::accept (tree_walker& tw) { tw.visit_switch_case (*this); } // List of switch cases. tree_switch_case_list * tree_switch_case_list::dup (symbol_table::scope_id scope, symbol_table::context_id context) const { tree_switch_case_list *new_scl = new tree_switch_case_list (); for (const_iterator p = begin (); p != end (); p++) { const tree_switch_case *elt = *p; new_scl->append (elt ? elt->dup (scope, context) : 0); } return new_scl; } void tree_switch_case_list::accept (tree_walker& tw) { tw.visit_switch_case_list (*this); } // Switch. tree_switch_command::~tree_switch_command (void) { delete expr; delete list; delete lead_comm; delete trail_comm; } tree_command * tree_switch_command::dup (symbol_table::scope_id scope, symbol_table::context_id context) const { return new tree_switch_command (expr ? expr->dup (scope, context) : 0, list ? list->dup (scope, context) : 0, lead_comm ? lead_comm->dup () : 0, trail_comm ? trail_comm->dup () : 0, line (), column ()); } void tree_switch_command::accept (tree_walker& tw) { tw.visit_switch_command (*this); }