#include "pt-eval.h"
Classes | |
class | value_stack |
Public Types | |
typedef void(* | decl_elt_init_fcn) (tree_decl_elt &) |
enum | echo_state { ECHO_OFF = 0, ECHO_SCRIPTS = 1, ECHO_FUNCTIONS = 2, ECHO_ALL = 4 } |
enum | stmt_list_type { function, script, other } |
Static Public Member Functions | |
static void | reset_debug_state (void) |
Static Public Attributes | |
static size_t | current_frame = 0 |
static int | dbstep_flag = 0 |
static bool | debug_mode = false |
static bool | in_loop_command = false |
static bool | quiet_breakpoint_flag = false |
static stmt_list_type | statement_context = tree_evaluator::other |
Private Member Functions | |
void | do_breakpoint (tree_statement &stmt) const |
void | do_breakpoint (bool is_breakpoint, bool is_end_of_fcn_or_script=false) const |
virtual octave_value | do_keyboard (const octave_value_list &args=octave_value_list()) const |
void | echo_code (size_t line) |
bool | echo_this_file (const std::string &file, int type) const |
bool | is_logically_true (tree_expression *expr, const char *warn_for) |
std::list< octave_lvalue > | make_lvalue_list (tree_argument_list *) |
octave_value_list | make_value_list (tree_argument_list *args, const string_vector &arg_nm, const octave_value *object, bool rvalue=true) |
bool | maybe_push_echo_state_cleanup (void) |
void | maybe_set_echo_state (void) |
void | push_echo_state_cleanup (unwind_protect &frame) |
void | set_echo_file_name (const std::string &file_name) |
void | set_echo_file_pos (const size_t &file_pos) |
void | set_echo_state (int type, const std::string &file_name, size_t pos) |
void | set_echo_state (bool val) |
typedef void(* octave::tree_evaluator::decl_elt_init_fcn) (tree_decl_elt &) |
|
inline |
|
delete |
|
default |
void octave::tree_evaluator::bind_ans | ( | const octave_value & | val, |
bool | |||
) |
Definition at line 2798 of file pt-eval.cc.
References octave::feval(), octave::symbol_scope::force_assign(), get_current_scope(), i, octave_value_list::length(), ovl(), octave_value_list::stash_name_tags(), string, and val.
Referenced by visit_statement().
octave_value_list octave::tree_evaluator::convert_return_list_to_const_vector | ( | tree_parameter_list * | ret_list, |
int | nargout, | ||
const Cell & | varargout | ||
) |
Definition at line 586 of file pt-eval.cc.
References octave::context, octave::symbol_scope::current_context(), i, octave::base_list< elt_type >::length(), nargout(), Array< T >::numel(), retval, and tmp.
Referenced by octave_user_function::call().
void octave::tree_evaluator::define_parameter_list_from_arg_vector | ( | tree_parameter_list * | param_list, |
const octave_value_list & | args | ||
) |
Definition at line 548 of file pt-eval.cc.
References octave::octave_lvalue::define(), error(), i, and octave_value_list::length().
Referenced by octave_user_function::call().
|
private |
Definition at line 2828 of file pt-eval.cc.
References octave::tree_statement::is_breakpoint(), and octave::tree_statement::is_end_of_fcn_or_script().
Referenced by visit_break_command(), visit_complex_for_command(), visit_continue_command(), visit_decl_command(), visit_do_until_command(), visit_if_command_list(), visit_no_op_command(), visit_return_command(), visit_simple_for_command(), visit_statement(), visit_switch_command(), and visit_while_command().
|
private |
Definition at line 2834 of file pt-eval.cc.
References octave::call_stack::current_frame(), current_frame, dbstep_flag, do_keyboard(), m_call_stack, and octave::octave_debug_on_interrupt_state.
|
privatevirtual |
Definition at line 2924 of file pt-eval.cc.
References do_keyboard().
Referenced by do_breakpoint().
void octave::tree_evaluator::do_unwind_protect_cleanup_code | ( | tree_statement_list * | list | ) |
Definition at line 2568 of file pt-eval.cc.
References octave::action_container::add_method(), octave::tree_break_command::breaking, octave::call_stack::current_column(), octave::call_stack::current_line(), octave::action_container::discard(), frame, list, m_call_stack, octave_interrupt_state, octave::action_container::protect_var(), octave::interpreter::recover_from_exception(), octave::tree_return_command::returning, octave::action_container::run(), octave::call_stack::set_column(), and octave::call_stack::set_line().
Referenced by visit_unwind_protect_command().
octave_value octave::tree_evaluator::echo | ( | const octave_value_list & | args, |
int | nargout | ||
) |
Definition at line 3090 of file pt-eval.cc.
References argv, ECHO_ALL, ECHO_FUNCTIONS, ECHO_OFF, ECHO_SCRIPTS, error(), fcn_file_in_path(), file, octave_value_list::length(), m_echo, m_echo_files, octave::sys::env::make_absolute(), octave_value_list::make_argv(), maybe_push_echo_state_cleanup(), maybe_set_echo_state(), octave_value(), p, print_usage(), string, and swap.
Referenced by octave_user_script::call(), and octave_user_function::call().
|
inline |
|
private |
Definition at line 3256 of file pt-eval.cc.
References code, octave::call_stack::current(), octave::command_editor::decode_prompt_string(), octave_base_value::is_user_code(), m_call_stack, m_echo_file_pos, m_PS4, octave_stdout, and string.
Referenced by visit_break_command(), visit_complex_for_command(), visit_continue_command(), visit_decl_command(), visit_do_until_command(), visit_if_command(), visit_no_op_command(), visit_return_command(), visit_simple_for_command(), visit_statement(), visit_switch_command(), visit_try_catch_command(), visit_unwind_protect_command(), and visit_while_command().
|
private |
Definition at line 3223 of file pt-eval.cc.
References ECHO_ALL, ECHO_FUNCTIONS, ECHO_SCRIPTS, file, m_echo, m_echo_files, p, and type.
Referenced by set_echo_state().
bool octave::tree_evaluator::eval_decl_elt | ( | tree_decl_elt * | elt | ) |
Definition at line 634 of file pt-eval.cc.
References octave::octave_lvalue::assign(), evaluate(), octave::tree_decl_elt::expression(), octave::tree_decl_elt::ident(), octave_value::op_asn_eq, and retval.
|
inline |
Definition at line 294 of file pt-eval.h.
References octave::tree::accept(), nargout(), octave_value(), panic_impossible, retval, octave::RT_UNDEFINED, octave::RT_VALUE, and octave::RT_VALUE_LIST.
Referenced by eval_decl_elt(), evaluate(), octave::tree_index_expression::get_struct_index(), octave::tm_row_const::tm_row_const_rep::init(), is_logically_true(), is_method_executing(), switch_case_label_matches(), visit_binary_expression(), visit_boolean_expression(), visit_colon_expression(), visit_complex_for_command(), visit_compound_binary_expression(), visit_decl_elt(), visit_index_expression(), visit_postfix_expression(), visit_prefix_expression(), visit_simple_assignment(), visit_simple_for_command(), visit_statement(), and visit_switch_command().
octave_value octave::tree_evaluator::evaluate | ( | tree_decl_elt * | elt | ) |
Definition at line 537 of file pt-eval.cc.
References evaluate(), octave::tree_decl_elt::ident(), octave_value(), and octave_value::storable_value().
|
inline |
Definition at line 325 of file pt-eval.h.
References octave::tree::accept(), nargout(), octave_value(), ovl(), panic_impossible, retval, octave::RT_UNDEFINED, octave::RT_VALUE, and octave::RT_VALUE_LIST.
Referenced by octave_user_function::call(), and visit_multi_assignment().
|
inline |
symbol_scope octave::tree_evaluator::get_current_scope | ( | void | ) |
Definition at line 688 of file pt-eval.cc.
References octave::symbol_table::current_scope(), octave::interpreter::get_symbol_table(), and m_interpreter.
Referenced by bind_ans(), octave_user_script::call(), octave::tree_identifier::lvalue(), visit_identifier(), visit_index_expression(), and visit_statement().
|
inline |
Definition at line 373 of file pt-eval.h.
Referenced by octave_mex_function::call(), octave_builtin::call(), octave_user_script::call(), and octave_user_function::call().
Matrix octave::tree_evaluator::ignored_fcn_outputs | ( | void | ) | const |
Definition at line 449 of file pt-eval.cc.
References k, lvalue_list(), octave_value::resize(), and retval.
Referenced by octave_user_function::bind_automatic_vars().
|
private |
Definition at line 2930 of file pt-eval.cc.
References error(), evaluate(), octave_value::is_defined(), and octave_value::is_true().
Referenced by visit_do_until_command(), visit_if_command_list(), and visit_while_command().
bool octave::tree_evaluator::isargout | ( | int | nargout, |
int | iout | ||
) | const |
Definition at line 483 of file pt-eval.cc.
References k, lvalue_list(), max(), and nargout().
Referenced by defun_isargout(), and isargout().
void octave::tree_evaluator::isargout | ( | int | nargout, |
int | nout, | ||
bool * | isargout | ||
) | const |
Definition at line 508 of file pt-eval.cc.
References i, isargout(), k, lvalue_list(), max(), min(), and nargout().
|
inline |
Definition at line 276 of file pt-eval.h.
Referenced by ignored_fcn_outputs(), isargout(), visit_multi_assignment(), and visit_simple_assignment().
|
private |
Definition at line 2980 of file pt-eval.cc.
References retval.
Referenced by visit_multi_assignment().
|
private |
Definition at line 2946 of file pt-eval.cc.
References octave::action_container::add_method(), octave::tree_argument_list::convert_to_const_vector(), err_invalid_inquiry_subscript(), frame, octave::tree_argument_list::has_magic_end(), octave_value::length(), m_lvalue_list_stack, and retval.
Referenced by visit_index_expression().
|
inline |
Definition at line 377 of file pt-eval.h.
Referenced by octave_user_script::call(), and octave_user_function::call().
|
inline |
octave_value octave::tree_evaluator::max_recursion_depth | ( | const octave_value_list & | args, |
int | nargout | ||
) |
Definition at line 2991 of file pt-eval.cc.
References m_max_recursion_depth, nargout(), and set_internal_variable().
|
private |
Definition at line 3063 of file pt-eval.cc.
References octave::call_stack::caller(), fcn, frame, octave_base_value::is_user_code(), m_call_stack, and push_echo_state_cleanup().
Referenced by echo().
|
private |
Definition at line 3032 of file pt-eval.cc.
References octave::call_stack::caller(), octave::call_stack::current_line(), ECHO_FUNCTIONS, ECHO_SCRIPTS, fcn, octave_function::fcn_file_name(), octave_base_value::is_user_code(), octave_base_value::is_user_function(), m_call_stack, set_echo_state(), string, and type.
Referenced by echo().
|
delete |
octave_value octave::tree_evaluator::PS4 | ( | const octave_value_list & | args, |
int | nargout | ||
) |
Definition at line 3218 of file pt-eval.cc.
References m_PS4, nargout(), and set_internal_variable().
|
inline |
|
inline |
void octave::tree_evaluator::push_echo_state | ( | unwind_protect & | frame, |
int | type, | ||
const std::string & | file_name, | ||
size_t | pos = 1 |
||
) |
Definition at line 3013 of file pt-eval.cc.
References frame, push_echo_state_cleanup(), set_echo_state(), and type.
Referenced by octave_user_script::call(), and octave_user_function::call().
|
private |
Definition at line 3051 of file pt-eval.cc.
References octave::action_container::add_method(), frame, m_echo_file_name, m_echo_file_pos, m_echo_state, set_echo_file_name(), set_echo_file_pos(), and set_echo_state().
Referenced by maybe_push_echo_state_cleanup(), and push_echo_state().
|
inline |
Definition at line 282 of file pt-eval.h.
References octave::RT_VALUE, and val.
Referenced by visit_anon_fcn_handle(), visit_binary_expression(), visit_boolean_expression(), visit_cell(), visit_colon_expression(), visit_compound_binary_expression(), visit_constant(), visit_fcn_handle(), visit_funcall(), visit_identifier(), visit_index_expression(), visit_matrix(), visit_multi_assignment(), visit_postfix_expression(), visit_prefix_expression(), and visit_simple_assignment().
|
inline |
Definition at line 288 of file pt-eval.h.
References octave::RT_VALUE_LIST.
void octave::tree_evaluator::reset | ( | void | ) |
Definition at line 79 of file pt-eval.cc.
References octave::tree_evaluator::value_stack< T >::clear(), m_expr_result_value, m_expr_result_value_list, m_lvalue_list_stack, m_nargout_stack, m_result_type, octave_value(), and octave::RT_UNDEFINED.
|
static |
Definition at line 439 of file pt-eval.cc.
References octave::__get_bp_table__(), dbstep_flag, debug_mode, octave::bp_table::have_breakpoints(), and Vdebugging.
Referenced by visit_return_command().
|
inlineprivate |
Definition at line 469 of file pt-eval.h.
Referenced by push_echo_state_cleanup().
|
inlineprivate |
Definition at line 475 of file pt-eval.h.
Referenced by push_echo_state_cleanup().
|
private |
Definition at line 3023 of file pt-eval.cc.
References echo_this_file(), m_echo_file_name, m_echo_file_pos, m_echo_state, and type.
Referenced by maybe_set_echo_state(), push_echo_state(), and push_echo_state_cleanup().
|
inlineprivate |
|
inline |
octave_value octave::tree_evaluator::silent_functions | ( | const octave_value_list & | args, |
int | nargout | ||
) |
Definition at line 2999 of file pt-eval.cc.
References m_silent_functions, nargout(), and set_internal_variable().
bool octave::tree_evaluator::statement_printing_enabled | ( | void | ) |
Definition at line 432 of file pt-eval.cc.
References m_silent_functions, script, and statement_context.
Referenced by visit_identifier(), visit_multi_assignment(), visit_simple_assignment(), and visit_statement().
|
inline |
Definition at line 401 of file pt-eval.h.
Referenced by octave_user_function::bind_automatic_vars().
|
inline |
octave_value octave::tree_evaluator::string_fill_char | ( | const octave_value_list & | args, |
int | nargout | ||
) |
Definition at line 3006 of file pt-eval.cc.
References m_string_fill_char, nargout(), and set_internal_variable().
bool octave::tree_evaluator::switch_case_label_matches | ( | tree_switch_case * | expr, |
const octave_value & | val | ||
) |
Definition at line 656 of file pt-eval.cc.
References octave::tree_switch_case::case_label(), octave_value::cell_value(), evaluate(), i, octave_value::is_defined(), octave_value::iscell(), and val.
Referenced by visit_switch_command().
void octave::tree_evaluator::undefine_parameter_list | ( | tree_parameter_list * | param_list | ) |
Definition at line 574 of file pt-eval.cc.
References octave::octave_lvalue::assign(), and octave_value::op_asn_eq.
Referenced by octave_user_function::call().
|
virtual |
Implements octave::tree_walker.
Definition at line 89 of file pt-eval.cc.
References octave::call_stack::current(), octave::symbol_table::current_scope(), octave_function::dir_name(), octave_function::dispatch_class(), octave::tree_expression::dup(), octave::tree_parameter_list::dup(), octave::symbol_scope::dup(), octave::tree_anon_fcn_handle::expression(), octave::interpreter::get_symbol_table(), octave::tree_anon_fcn_handle::has_parent_scope(), octave::symbol_scope::inherit(), octave_function::is_class_constructor(), octave_function::is_class_method(), m_call_stack, m_interpreter, octave_user_function::mark_as_anonymous_function(), octave_fcn_binder::maybe_binder(), octave_function::name(), octave::tree_anon_fcn_handle::parameter_list(), push_result(), octave::tree_anon_fcn_handle::scope(), octave::symbol_scope::set_parent(), octave_function::stash_dir_name(), octave_function::stash_dispatch_class(), and octave_user_function::stash_parent_fcn_name().
|
virtual |
Implements octave::tree_walker.
Definition at line 160 of file pt-eval.cc.
References panic_impossible.
|
virtual |
Implements octave::tree_walker.
Definition at line 166 of file pt-eval.cc.
References a, b, do_binary_op(), evaluate(), octave::interpreter::get_type_info(), octave::tree_binary_expression::is_eligible_for_braindead_shortcircuit(), octave::tree_binary_expression::lhs(), m_interpreter, m_profiler, octave::tree_binary_expression::matlab_style_short_circuit_warning(), octave_value::op_el_and, octave_value::op_el_or, octave::tree_binary_expression::op_type(), push_result(), result, octave::tree_binary_expression::rhs(), and val.
|
virtual |
Reimplemented from octave::tree_walker.
Definition at line 248 of file pt-eval.cc.
References a, b, octave::tree_boolean_expression::bool_and, octave::tree_boolean_expression::bool_or, evaluate(), octave::tree_binary_expression::lhs(), octave_value(), octave::tree_boolean_expression::op_type(), push_result(), result, octave::tree_binary_expression::rhs(), and val.
|
virtual |
Implements octave::tree_walker.
Definition at line 333 of file pt-eval.cc.
References octave::tree_break_command::breaking, debug_mode, do_breakpoint(), echo_code(), error(), in_loop_command, octave::tree::is_breakpoint(), octave::tree::line(), m_echo_file_pos, and m_echo_state.
|
virtual |
Implements octave::tree_walker.
Definition at line 1797 of file pt-eval.cc.
References octave::action_container::add_method(), error(), frame, i, octave::base_list< elt_type >::length(), m_lvalue_list_stack, push_result(), retval, row, and val.
|
inlinevirtualinherited |
Definition at line 294 of file pt-walk.h.
Referenced by octave::tree_classdef::accept().
|
inlinevirtualinherited |
Definition at line 246 of file pt-walk.h.
Referenced by octave::tree_classdef_attribute::accept().
|
inlinevirtualinherited |
Definition at line 249 of file pt-walk.h.
Referenced by octave::tree_classdef_attribute_list::accept().
|
inlinevirtualinherited |
Definition at line 291 of file pt-walk.h.
Referenced by octave::tree_classdef_body::accept().
|
inlinevirtualinherited |
Definition at line 282 of file pt-walk.h.
Referenced by octave::tree_classdef_enum::accept().
|
inlinevirtualinherited |
Definition at line 288 of file pt-walk.h.
Referenced by octave::tree_classdef_enum_block::accept().
|
inlinevirtualinherited |
Definition at line 285 of file pt-walk.h.
Referenced by octave::tree_classdef_enum_list::accept().
|
inlinevirtualinherited |
Definition at line 273 of file pt-walk.h.
Referenced by octave::tree_classdef_event::accept().
|
inlinevirtualinherited |
Definition at line 279 of file pt-walk.h.
Referenced by octave::tree_classdef_events_block::accept().
|
inlinevirtualinherited |
Definition at line 276 of file pt-walk.h.
Referenced by octave::tree_classdef_events_list::accept().
|
inlinevirtualinherited |
Definition at line 270 of file pt-walk.h.
Referenced by octave::tree_classdef_methods_block::accept().
|
inlinevirtualinherited |
Definition at line 267 of file pt-walk.h.
Referenced by octave::tree_classdef_methods_list::accept().
|
inlinevirtualinherited |
Definition at line 264 of file pt-walk.h.
Referenced by octave::tree_classdef_properties_block::accept().
|
inlinevirtualinherited |
Definition at line 258 of file pt-walk.h.
Referenced by octave::tree_classdef_property::accept().
|
inlinevirtualinherited |
Definition at line 261 of file pt-walk.h.
Referenced by octave::tree_classdef_property_list::accept().
|
inlinevirtualinherited |
Definition at line 252 of file pt-walk.h.
Referenced by octave::tree_classdef_superclass::accept().
|
inlinevirtualinherited |
Definition at line 255 of file pt-walk.h.
Referenced by octave::tree_classdef_superclass_list::accept().
|
virtual |
Implements octave::tree_walker.
Definition at line 352 of file pt-eval.cc.
References octave::tree_colon_expression::base(), do_colon_op(), error(), evaluate(), fcn, octave::feval(), octave::symbol_table::find_function(), octave::interpreter::get_symbol_table(), octave::tree_colon_expression::increment(), octave_function::is_defined(), octave::tree_expression::is_for_cmd_expr(), octave_value::isobject(), octave::tree_colon_expression::limit(), m_interpreter, push_result(), and val.
|
virtual |
Implements octave::tree_walker.
Definition at line 964 of file pt-eval.cc.
References octave::tree_statement_list::accept(), octave::octave_lvalue::assign(), octave::base_list< elt_type >::begin(), octave::tree_complex_for_command::body(), octave_map::contents(), octave::tree_complex_for_command::control_expr(), debug_mode, do_breakpoint(), echo_code(), error(), evaluate(), frame, i, in_loop_command, octave::tree::is_breakpoint(), octave_value::is_undefined(), octave_value::isstruct(), octave_map::keys(), octave::tree_complex_for_command::left_hand_side(), octave::tree::line(), octave::tree_expression::lvalue(), m_echo_file_pos, m_echo_state, octave_value::map_value(), Array< T >::numel(), octave_value(), octave_value::op_asn_eq, p, octave::action_container::protect_var(), octave::quit_loop_now(), string, and val.
|
virtual |
Reimplemented from octave::tree_walker.
Definition at line 302 of file pt-eval.cc.
References a, b, octave::tree_compound_binary_expression::clhs(), octave::tree_compound_binary_expression::cop_type(), octave::tree_compound_binary_expression::crhs(), do_binary_op(), evaluate(), octave::interpreter::get_type_info(), m_interpreter, push_result(), and val.
|
virtual |
Implements octave::tree_walker.
Definition at line 2038 of file pt-eval.cc.
References error(), m_nargout_stack, nargout(), push_result(), octave::tree_evaluator::value_stack< T >::top(), and octave::tree_constant::value().
|
virtual |
Implements octave::tree_walker.
Definition at line 415 of file pt-eval.cc.
References octave::tree_continue_command::continuing, debug_mode, do_breakpoint(), echo_code(), in_loop_command, octave::tree::is_breakpoint(), octave::tree::line(), m_echo_file_pos, and m_echo_state.
|
virtual |
Implements octave::tree_walker.
Definition at line 696 of file pt-eval.cc.
References octave::tree_decl_init_list::accept(), debug_mode, do_breakpoint(), echo_code(), octave::tree_decl_command::initializer_list(), octave::tree::is_breakpoint(), octave::tree::line(), m_echo_file_pos, and m_echo_state.
|
virtual |
Implements octave::tree_walker.
Definition at line 722 of file pt-eval.cc.
References octave::octave_lvalue::assign(), octave::symbol_scope::assign(), octave::symbol_table::current_scope(), error(), evaluate(), octave::tree_decl_elt::expression(), octave::symbol_scope::find_symbol(), octave::interpreter::get_symbol_table(), octave::symbol_table::global_scope(), id, octave::tree_decl_elt::ident(), octave_value::is_defined(), octave::tree_decl_elt::is_global(), octave::symbol_scope::is_global(), octave::tree_decl_elt::is_persistent(), octave::octave_lvalue::is_undefined(), m_interpreter, octave::symbol_record::mark_global(), name, octave_value::op_asn_eq, string, val, octave::symbol_scope::varval(), and warning_with_id().
|
virtual |
Implements octave::tree_walker.
Definition at line 715 of file pt-eval.cc.
|
virtual |
Implements octave::tree_walker.
Definition at line 2747 of file pt-eval.cc.
References octave::tree_statement_list::accept(), octave::tree_while_command::body(), octave::tree::column(), octave::tree_while_command::condition(), debug_mode, do_breakpoint(), echo_code(), octave::tree_jit::execute(), frame, in_loop_command, octave::tree::is_breakpoint(), is_logically_true(), octave::tree::line(), m_call_stack, m_echo_file_pos, m_echo_state, panic_impossible, octave::action_container::protect_var(), octave::quit_loop_now(), and octave::call_stack::set_location().
|
virtual |
Implements octave::tree_walker.
Definition at line 2049 of file pt-eval.cc.
References make_fcn_handle(), octave::tree_fcn_handle::name(), nm, push_result(), and string.
|
virtual |
Implements octave::tree_walker.
Definition at line 2059 of file pt-eval.cc.
References octave::tree_funcall::arguments(), f, fcn, octave::feval(), octave::tree_funcall::function(), octave_base_value::function_value(), octave_value::is_function(), octave::tree_expression::is_postfix_indexed(), octave_value::length(), m_nargout_stack, nargout(), octave::tree_expression::postfix_index(), push_result(), retval, octave::tree_evaluator::value_stack< T >::top(), and val.
|
virtual |
Implements octave::tree_walker.
Definition at line 1068 of file pt-eval.cc.
References octave::symbol_scope::assign(), octave::symbol_table::current_scope(), f, fcn, octave::tree_function_def::function(), octave_base_value::function_value(), octave::interpreter::get_symbol_table(), octave::symbol_table::install_cmdline_function(), m_interpreter, nm, and string.
|
virtual |
Implements octave::tree_walker.
Definition at line 1093 of file pt-eval.cc.
References octave_function::accepts_postfix_index(), octave_function::call(), octave::context, octave::symbol_scope::current_context(), octave::tree_identifier::eval_undefined_error(), fcn, octave::feval(), octave::symbol_record::find(), get_current_scope(), octave::symbol_record::is_added_static(), octave::tree_expression::is_postfix_indexed(), m_nargout_stack, octave::tree_identifier::name(), nargout(), ovl(), octave::tree_expression::postfix_index(), octave::tree_expression::print_result(), push_result(), retval, octave_value_list::stash_name_tags(), statement_printing_enabled(), octave::tree_identifier::static_workspace_error(), octave::tree_identifier::symbol(), octave::tree_evaluator::value_stack< T >::top(), and val.
|
virtual |
Implements octave::tree_walker.
Definition at line 1153 of file pt-eval.cc.
References panic_impossible.
|
virtual |
Implements octave::tree_walker.
Definition at line 1159 of file pt-eval.cc.
References octave::tree_if_command_list::accept(), octave::tree_if_command::cmd_list(), echo_code(), octave::tree::line(), m_echo_file_pos, and m_echo_state.
|
virtual |
Implements octave::tree_walker.
Definition at line 1175 of file pt-eval.cc.
References octave::tree_statement_list::accept(), debug_mode, do_breakpoint(), is_logically_true(), m_call_stack, script, octave::call_stack::set_location(), and statement_context.
|
virtual |
Implements octave::tree_walker.
Definition at line 1315 of file pt-eval.cc.
References octave::action_container::add_method(), octave::tree_index_expression::arg_lists(), octave::tree_index_expression::arg_names(), octave_function::call(), octave::context, octave::tree_argument_list::convert_to_const_vector(), octave::symbol_scope::current_context(), octave::tree_index_expression::dyn_fields(), e, err_indexed_cs_list(), error(), evaluate(), octave::tree_index_expression::expression(), fcn, octave::final_index_error(), frame, octave_value::function_value(), get_current_scope(), octave::tree_index_expression::get_struct_index(), octave::tree_argument_list::has_magic_end(), i, id, octave_value::is_classdef_meta(), octave_value::is_cs_list(), octave_value::is_function(), octave::tree_expression::is_identifier(), octave_value::is_package(), octave_value::is_undefined(), octave_value::isjava(), octave_value::isobject(), octave::base_list< elt_type >::length(), octave_value_list::length(), octave_value::length(), m_lvalue_list_stack, m_nargout_stack, make_value_list(), nargout(), octave_value(), panic_impossible, push_result(), retval, octave_value_list::stash_name_tags(), string, octave_value::subsref(), octave::tree_evaluator::value_stack< T >::top(), type, octave::tree_index_expression::type_tags(), and val.
|
virtual |
Implements octave::tree_walker.
Definition at line 1598 of file pt-eval.cc.
References octave_value::all_zero_dims(), octave_base_value::columns(), octave_value::convert_to_str(), do_cat_op(), octave::do_class_concat(), octave::do_single_type_concat< octave_map >(), dv, octave::interpreter::get_type_info(), octave_value::is_string(), m_interpreter, m_string_fill_char, octave::maybe_warn_string_concat(), dim_vector::ndims(), octave_value(), push_result(), ra_idx, octave_base_sparse< T >::resize(), octave_value::resize(), result, retval, row, string, tmp, type, and warn_implicit_conversion().
|
virtual |
Implements octave::tree_walker.
Definition at line 1859 of file pt-eval.cc.
References octave::action_container::add_method(), octave::base_list< elt_type >::begin(), error(), evaluate_n(), octave::feval(), frame, k, octave::tree_multi_assignment::left_hand_side(), octave_value_list::length(), lvalue_list(), m_lvalue_list_stack, make_lvalue_list(), octave::tree_expression::name(), octave_value::op_asn_eq, ovl(), octave::tree_expression::print_result(), push_result(), octave::tree_multi_assignment::right_hand_side(), octave_value_list::slice(), octave_value_list::stash_name_tags(), statement_printing_enabled(), tmp, and val.
|
virtual |
Implements octave::tree_walker.
Definition at line 2024 of file pt-eval.cc.
References debug_mode, do_breakpoint(), echo_code(), octave::tree::is_breakpoint(), octave::tree_no_op_command::is_end_of_fcn_or_script(), octave::tree::line(), m_echo_file_pos, and m_echo_state.
|
virtual |
Implements octave::tree_walker.
Definition at line 1049 of file pt-eval.cc.
References panic_impossible.
void octave::tree_evaluator::visit_octave_user_function_header | ( | octave_user_function & | ) |
Definition at line 1056 of file pt-eval.cc.
References panic_impossible.
void octave::tree_evaluator::visit_octave_user_function_trailer | ( | octave_user_function & | ) |
Definition at line 1062 of file pt-eval.cc.
References panic_impossible.
|
virtual |
Implements octave::tree_walker.
Definition at line 1042 of file pt-eval.cc.
References panic_impossible.
|
virtual |
Implements octave::tree_walker.
Definition at line 2091 of file pt-eval.cc.
References panic_impossible.
|
virtual |
Implements octave::tree_walker.
Definition at line 2097 of file pt-eval.cc.
References octave::octave_lvalue::do_unary_op(), do_unary_op(), evaluate(), octave::interpreter::get_type_info(), octave_value::is_defined(), octave::tree_expression::lvalue(), m_interpreter, m_profiler, octave_value::op_decr, octave_value::op_incr, octave::tree_unary_expression::op_type(), octave::tree_unary_expression::operand(), push_result(), val, and octave::octave_lvalue::value().
|
virtual |
Implements octave::tree_walker.
Definition at line 2137 of file pt-eval.cc.
References octave_value::do_non_const_unary_op(), octave::octave_lvalue::do_unary_op(), do_unary_op(), evaluate(), octave_value::get_count(), octave::interpreter::get_type_info(), octave_value::is_defined(), octave::tree_expression::lvalue(), m_interpreter, m_profiler, octave_value::op_decr, octave_value::op_incr, octave::tree_unary_expression::op_type(), octave::tree_unary_expression::operand(), push_result(), val, and octave::octave_lvalue::value().
|
virtual |
Implements octave::tree_walker.
Definition at line 2184 of file pt-eval.cc.
References octave::call_stack::current_frame(), current_frame, debug_mode, do_breakpoint(), echo_code(), in_loop_command, octave::tree::is_breakpoint(), octave::tree::line(), m_call_stack, m_echo_file_pos, m_echo_state, reset_debug_state(), octave::tree_return_command::returning, script, statement_context, and Vdebugging.
|
virtual |
Implements octave::tree_walker.
Definition at line 2210 of file pt-eval.cc.
References panic_impossible.
|
virtual |
Implements octave::tree_walker.
Definition at line 2216 of file pt-eval.cc.
References octave::action_container::add_method(), octave::octave_lvalue::assign(), octave::octave_lvalue::clear_index(), e, octave_value_list::empty(), err_invalid_structure_assignment(), error(), error_with_id(), evaluate(), octave::feval(), frame, octave_value::is_cs_list(), octave_value::is_undefined(), octave::tree_simple_assignment::left_hand_side(), octave_value::list_value(), octave::tree_expression::lvalue(), lvalue_list(), m_lvalue_list_stack, octave::tree_expression::name(), octave::octave_lvalue::numel(), octave_value::op_asn_eq, octave::tree_simple_assignment::op_type(), ovl(), octave::tree_expression::print_result(), push_result(), octave::tree_simple_assignment::right_hand_side(), octave_value_list::stash_name_tags(), statement_printing_enabled(), string, val, and octave::octave_lvalue::value().
|
virtual |
Implements octave::tree_walker.
Definition at line 826 of file pt-eval.cc.
References octave::tree_statement_list::accept(), arg, octave::octave_lvalue::assign(), octave::tree_simple_for_command::body(), octave::tree::column(), octave::tree_simple_for_command::control_expr(), debug_mode, octave_value::dims(), do_breakpoint(), octave_value::do_index_op(), dv, echo_code(), Range::elem(), error(), evaluate(), octave::tree_jit::execute(), frame, i, in_loop_command, octave::tree::is_breakpoint(), octave_value::is_matrix_type(), octave_value::is_range(), octave_value::is_scalar_type(), octave_value::is_string(), octave_value::is_undefined(), octave_value::iscell(), octave_value::isstruct(), octave::tree_simple_for_command::left_hand_side(), octave::tree::line(), octave::tree_expression::lvalue(), m_echo_file_pos, m_echo_state, octave_value::magic_colon_t, octave_value::ndims(), Range::numel(), octave_value::op_asn_eq, octave::action_container::protect_var(), octave::quit_loop_now(), octave_value::range_value(), dim_vector::redim(), octave_value::reshape(), octave_value_list::resize(), and val.
|
virtual |
Implements octave::tree_walker.
Definition at line 2296 of file pt-eval.cc.
References octave::tree::accept(), bind_ans(), octave::tree_statement::column(), octave::tree_statement::command(), octave::context, octave::symbol_scope::current_context(), debug_mode, do_breakpoint(), echo_code(), error_with_id(), evaluate(), octave::tree_statement::expression(), get_current_scope(), octave::tree_expression::is_assignment_expression(), octave::tree::is_breakpoint(), octave::tree_expression::is_identifier(), octave::tree_statement::line(), m_call_stack, m_echo_file_pos, m_echo_state, octave::tree_expression::print_result(), octave::interpreter::recover_from_exception(), script, octave::call_stack::set_location(), statement_context, statement_printing_enabled(), and Vtrack_line_num.
|
virtual |
Implements octave::tree_walker.
Definition at line 2388 of file pt-eval.cc.
References octave::tree_statement::accept(), octave::base_list< elt_type >::begin(), octave::tree_break_command::breaking, octave::tree_continue_command::continuing, octave::base_list< elt_type >::end(), error(), p, and octave::tree_return_command::returning.
|
virtual |
Implements octave::tree_walker.
Definition at line 2439 of file pt-eval.cc.
References panic_impossible.
|
virtual |
Implements octave::tree_walker.
Definition at line 2445 of file pt-eval.cc.
References panic_impossible.
|
virtual |
Implements octave::tree_walker.
Definition at line 2451 of file pt-eval.cc.
References octave::tree_statement_list::accept(), octave::tree_switch_command::case_list(), octave::tree::column(), debug_mode, do_breakpoint(), echo_code(), error(), evaluate(), octave::tree::is_breakpoint(), octave::tree::line(), m_echo_file_pos, m_echo_state, switch_case_label_matches(), octave::tree_switch_command::switch_value(), t, and val.
|
virtual |
Implements octave::tree_walker.
Definition at line 2491 of file pt-eval.cc.
References octave::tree_statement_list::accept(), octave::octave_lvalue::assign(), octave::tree_try_catch_command::body(), buffer_error_messages, octave::tree_try_catch_command::cleanup(), echo_code(), err, frame, octave::tree_try_catch_command::identifier(), in_try_catch, last_error_id(), last_error_message(), last_error_stack(), octave::tree::line(), octave::tree_identifier::lvalue(), m_echo_file_pos, m_echo_state, octave_value::op_asn_eq, octave::action_container::protect_var(), octave::interpreter::recover_from_exception(), Vdebug_on_error, and Vdebug_on_warning.
|
virtual |
Implements octave::tree_walker.
Definition at line 2647 of file pt-eval.cc.
References octave::tree_statement_list::accept(), octave::tree_unwind_protect_command::body(), octave::tree_unwind_protect_command::cleanup(), do_unwind_protect_cleanup_code(), echo_code(), octave::tree::line(), m_echo_file_pos, m_echo_state, and octave::interpreter::recover_from_exception().
|
virtual |
Implements octave::tree_walker.
Definition at line 2697 of file pt-eval.cc.
References octave::tree_statement_list::accept(), octave::tree_while_command::body(), octave::tree_while_command::condition(), debug_mode, do_breakpoint(), echo_code(), octave::tree_jit::execute(), frame, in_loop_command, octave::tree::is_breakpoint(), is_logically_true(), octave::tree::line(), m_echo_file_pos, m_echo_state, panic_impossible, octave::action_container::protect_var(), and octave::quit_loop_now().
|
static |
Definition at line 250 of file pt-eval.h.
Referenced by do_breakpoint(), maybe_enter_debugger(), visit_return_command(), and warning_1().
|
static |
Definition at line 247 of file pt-eval.h.
Referenced by do_breakpoint(), and reset_debug_state().
Definition at line 252 of file pt-eval.h.
Referenced by octave::bp_table::add_breakpoint(), maybe_enter_debugger(), octave::bp_table::remove_all_breakpoints(), octave::bp_table::remove_all_breakpoints_in_file(), octave::bp_table::remove_breakpoint(), reset_debug_state(), visit_break_command(), visit_complex_for_command(), visit_continue_command(), visit_decl_command(), visit_do_until_command(), visit_if_command_list(), visit_no_op_command(), visit_return_command(), visit_simple_for_command(), visit_statement(), visit_switch_command(), visit_while_command(), and warning_1().
Definition at line 268 of file pt-eval.h.
Referenced by visit_break_command(), visit_complex_for_command(), visit_continue_command(), visit_do_until_command(), visit_return_command(), visit_simple_for_command(), and visit_while_command().
|
private |
Definition at line 494 of file pt-eval.h.
Referenced by do_breakpoint(), do_unwind_protect_cleanup_code(), echo_code(), maybe_push_echo_state_cleanup(), maybe_set_echo_state(), visit_anon_fcn_handle(), visit_do_until_command(), visit_if_command_list(), visit_return_command(), and visit_statement().
|
private |
Definition at line 518 of file pt-eval.h.
Referenced by echo(), and echo_this_file().
|
private |
Definition at line 524 of file pt-eval.h.
Referenced by push_echo_state_cleanup(), and set_echo_state().
|
private |
Definition at line 527 of file pt-eval.h.
Referenced by echo_code(), push_echo_state_cleanup(), set_echo_state(), visit_break_command(), visit_complex_for_command(), visit_continue_command(), visit_decl_command(), visit_do_until_command(), visit_if_command(), visit_no_op_command(), visit_return_command(), visit_simple_for_command(), visit_statement(), visit_switch_command(), visit_try_catch_command(), visit_unwind_protect_command(), and visit_while_command().
|
private |
Definition at line 529 of file pt-eval.h.
Referenced by echo(), and echo_this_file().
|
private |
Definition at line 522 of file pt-eval.h.
Referenced by push_echo_state_cleanup(), set_echo_state(), visit_break_command(), visit_complex_for_command(), visit_continue_command(), visit_decl_command(), visit_do_until_command(), visit_if_command(), visit_no_op_command(), visit_return_command(), visit_simple_for_command(), visit_statement(), visit_switch_command(), visit_try_catch_command(), visit_unwind_protect_command(), and visit_while_command().
|
private |
|
private |
|
private |
Definition at line 484 of file pt-eval.h.
Referenced by get_current_scope(), visit_anon_fcn_handle(), visit_binary_expression(), visit_colon_expression(), visit_compound_binary_expression(), visit_decl_elt(), visit_function_def(), visit_matrix(), visit_postfix_expression(), and visit_prefix_expression().
|
private |
Definition at line 490 of file pt-eval.h.
Referenced by make_value_list(), reset(), visit_cell(), visit_index_expression(), visit_multi_assignment(), and visit_simple_assignment().
|
private |
Definition at line 500 of file pt-eval.h.
Referenced by max_recursion_depth().
|
private |
Definition at line 492 of file pt-eval.h.
Referenced by reset(), visit_constant(), visit_funcall(), visit_identifier(), and visit_index_expression().
|
private |
Definition at line 496 of file pt-eval.h.
Referenced by visit_binary_expression(), visit_postfix_expression(), and visit_prefix_expression().
|
private |
Definition at line 510 of file pt-eval.h.
Referenced by echo_code(), and PS4().
|
private |
|
private |
Definition at line 504 of file pt-eval.h.
Referenced by silent_functions(), and statement_printing_enabled().
|
private |
Definition at line 507 of file pt-eval.h.
Referenced by string_fill_char(), and visit_matrix().
|
static |
Definition at line 265 of file pt-eval.h.
Referenced by octave_user_script::call(), octave_user_function::call(), statement_printing_enabled(), visit_if_command_list(), visit_return_command(), and visit_statement().