#include "pt-fcn-handle.h"
Public Member Functions | |
tree_anon_fcn_handle (const tree_anon_fcn_handle &)=delete | |
tree_anon_fcn_handle (int l=-1, int c=-1) | |
tree_anon_fcn_handle (tree_parameter_list *pl, tree_expression *ex, const symbol_scope &scope, const symbol_scope &parent_scope, int l=-1, int c=-1) | |
~tree_anon_fcn_handle (void) | |
void | accept (tree_walker &tw) |
const std::string | bp_cond (void) const |
void | column (int c) |
virtual int | column (void) const |
virtual void | copy_base (const tree_expression &e) |
virtual void | delete_breakpoint (void) |
tree_expression * | dup (symbol_scope &scope) const |
octave_value | evaluate (tree_evaluator &tw, int nargout=1) |
octave_value_list | evaluate_n (tree_evaluator &tw, int nargout=1) |
tree_expression * | expression (void) const |
std::string | file_name (void) const |
bool | has_parent_scope (void) const |
bool | is_active_breakpoint (tree_evaluator &tw) const |
virtual bool | is_assignment_expression (void) const |
virtual bool | is_binary_expression (void) const |
virtual bool | is_boolean_expression (void) const |
bool | is_breakpoint (void) const |
virtual bool | is_constant (void) const |
bool | is_for_cmd_expr (void) const |
virtual bool | is_identifier (void) const |
virtual bool | is_index_expression (void) const |
virtual bool | is_matrix (void) const |
bool | is_postfix_indexed (void) const |
virtual bool | is_prefix_expression (void) const |
virtual bool | is_unary_expression (void) const |
virtual bool | iscell (void) const |
void | line (int l) |
virtual int | line (void) const |
virtual octave_lvalue | lvalue (tree_evaluator &) |
virtual bool | lvalue_ok (void) const |
void | mark_as_for_cmd_expr (void) |
virtual void | mark_braindead_shortcircuit (void) |
tree_expression * | mark_in_parens (void) |
bool | meets_bp_condition (tree_evaluator &tw) const |
virtual std::string | name (void) const |
virtual std::string | oper (void) const |
tree_anon_fcn_handle & | operator= (const tree_anon_fcn_handle &)=delete |
virtual std::string | original_text (void) const |
tree_parameter_list * | parameter_list (void) const |
int | paren_count (void) const |
symbol_scope | parent_scope (void) const |
char | postfix_index (void) const |
bool | print_result (void) const |
bool | rvalue_ok (void) const |
symbol_scope | scope (void) const |
virtual void | set_breakpoint (const std::string &condition) |
void | set_location (int l, int c) |
tree_expression * | set_postfix_index (char type) |
tree_expression * | set_print_flag (bool print) |
void | stash_file_name (const std::string &file) |
std::string | str_print_code (void) |
Protected Attributes | |
bool | for_cmd_expr |
int | num_parens |
char | postfix_index_type |
bool | print_flag |
Private Attributes | |
std::string * | m_bp_cond |
int | m_column_num |
tree_expression * | m_expression |
std::string | m_file_name |
int | m_line_num |
tree_parameter_list * | m_parameter_list |
symbol_scope | m_parent_scope |
symbol_scope | m_scope |
Definition at line 96 of file pt-fcn-handle.h.
|
inline |
Definition at line 100 of file pt-fcn-handle.h.
Referenced by dup().
|
inline |
Definition at line 106 of file pt-fcn-handle.h.
|
delete |
octave::tree_anon_fcn_handle::~tree_anon_fcn_handle | ( | void | ) |
Definition at line 69 of file pt-fcn-handle.cc.
References m_expression, and m_parameter_list.
|
inlinevirtual |
Implements octave::tree.
Definition at line 146 of file pt-fcn-handle.h.
References octave::tree_walker::visit_anon_fcn_handle().
|
inlineinherited |
Definition at line 106 of file pt.h.
References octave::tree::m_bp_cond.
Referenced by octave::tree_statement::bp_cond(), and octave::tree_breakpoint::take_action().
|
inlineinherited |
Definition at line 66 of file pt.h.
References octave::tree::m_column_num.
|
inlinevirtualinherited |
Reimplemented in octave::tree_statement.
Definition at line 62 of file pt.h.
References octave::tree::m_column_num.
Referenced by octave::tree_statement::column(), octave::tree_binary_expression::dup(), octave::tree_boolean_expression::dup(), octave::tree_cell::dup(), octave::tree_superclass_ref::dup(), octave::tree_metaclass_query::dup(), octave::tree_colon_expression::dup(), octave::tree_constant::dup(), octave::tree_fcn_handle::dup(), dup(), octave::tree_identifier::dup(), octave::tree_index_expression::dup(), octave::tree_matrix::dup(), octave::tree_prefix_expression::dup(), octave::tree_postfix_expression::dup(), octave::anon_fcn_validator::error(), octave::tree_identifier::eval_undefined_error(), octave::base_parser::finish_if_command(), octave::base_parser::finish_switch_command(), octave::base_parser::make_colon_expression(), octave::base_parser::make_fcn_name(), octave::base_parser::make_index_expression(), octave::base_parser::make_indirect_ref(), octave::base_parser::maybe_warn_assign_as_truth_value(), octave::base_parser::maybe_warn_variable_switch_label(), octave::tree_evaluator::visit_do_until_command(), octave::tree_evaluator::visit_simple_for_command(), and octave::tree_evaluator::visit_switch_command().
|
inlinevirtualinherited |
Definition at line 131 of file pt-exp.h.
References octave::tree_expression::num_parens, octave::tree_expression::postfix_index_type, and octave::tree_expression::print_flag.
Referenced by octave::tree_array_list::copy_base(), octave::tree_simple_assignment::dup(), octave::tree_binary_expression::dup(), octave::tree_boolean_expression::dup(), octave::tree_superclass_ref::dup(), octave::tree_metaclass_query::dup(), octave::tree_colon_expression::dup(), octave::tree_constant::dup(), octave::tree_fcn_handle::dup(), dup(), octave::tree_identifier::dup(), octave::tree_index_expression::dup(), octave::tree_prefix_expression::dup(), and octave::tree_postfix_expression::dup().
|
inlinevirtualinherited |
Reimplemented in octave::tree_statement.
Definition at line 82 of file pt.h.
References octave::tree::m_bp_cond.
Referenced by octave::tree_statement::delete_breakpoint(), and octave::tree_breakpoint::take_action().
|
virtual |
Implements octave::tree_expression.
Definition at line 76 of file pt-fcn-handle.cc.
References tree_anon_fcn_handle(), octave::tree::column(), octave::tree_expression::copy_base(), octave::tree_parameter_list::dup(), octave::tree_expression::dup(), octave::symbol_scope::dup(), expression(), m_parent_scope, m_scope, and parameter_list().
|
virtual |
Implements octave::tree_expression.
Definition at line 102 of file pt-fcn-handle.cc.
References octave::symbol_scope::cache_dir_name(), octave::symbol_scope::cache_fcn_file_name(), octave::call_stack::current_function(), octave_function::dir_name(), octave_function::dispatch_class(), octave::tree_parameter_list::dup(), octave::tree_expression::dup(), octave::symbol_scope::dup(), octave_function::fcn_file_name(), octave::tree_anon_scopes::free_variables(), octave::tree_evaluator::get_call_stack(), octave::tree_evaluator::get_current_scope(), octave::call_stack::get_current_stack_frame(), octave_function::is_class_constructor(), octave_function::is_class_method(), octave_value::is_defined(), octave_function::is_nested_function(), octave_function::is_parent_function(), m_expression, m_parameter_list, m_scope, octave_user_function::mark_as_anonymous_function(), octave_user_function::mark_as_nested_function(), octave_function::name(), octave::tree_expression::name(), octave::symbol_scope::nesting_depth(), octave_value(), parent_scope(), octave::symbol_scope::set_nesting_depth(), octave::symbol_scope::set_parent(), octave::symbol_scope::set_primary_parent(), octave_function::stash_dir_name(), octave_function::stash_dispatch_class(), octave_user_code::stash_fcn_file_name(), and octave_user_function::stash_parent_fcn_name().
Referenced by evaluate_n().
|
inlinevirtual |
Implements octave::tree_expression.
Definition at line 141 of file pt-fcn-handle.h.
References evaluate(), and ovl().
|
inline |
Definition at line 129 of file pt-fcn-handle.h.
References m_expression.
Referenced by dup(), octave::tree_anon_scopes::visit_anon_fcn_handle(), and octave::tree_print_code::visit_anon_fcn_handle().
|
inline |
Definition at line 150 of file pt-fcn-handle.h.
References m_file_name.
|
inline |
Definition at line 135 of file pt-fcn-handle.h.
References octave::symbol_scope::is_valid(), and m_parent_scope.
|
inlineinherited |
Definition at line 99 of file pt.h.
References octave::tree::m_bp_cond, and octave::tree::meets_bp_condition().
Referenced by octave::tree_statement::is_active_breakpoint(), octave::tree_evaluator::visit_break_command(), octave::tree_evaluator::visit_complex_for_command(), octave::tree_evaluator::visit_continue_command(), octave::tree_evaluator::visit_decl_command(), octave::tree_evaluator::visit_do_until_command(), octave::tree_evaluator::visit_no_op_command(), octave::tree_evaluator::visit_return_command(), octave::tree_evaluator::visit_simple_for_command(), octave::tree_evaluator::visit_statement(), octave::tree_evaluator::visit_switch_command(), and octave::tree_evaluator::visit_while_command().
|
inlinevirtualinherited |
Reimplemented in octave::tree_multi_assignment, and octave::tree_simple_assignment.
Definition at line 74 of file pt-exp.h.
Referenced by octave::bp_table::condition_valid(), octave::tree_evaluator::eval_string(), octave::base_parser::maybe_warn_assign_as_truth_value(), octave::tree_evaluator::visit_statement(), and octave::jit_convert::visit_statement().
|
inlinevirtualinherited |
Reimplemented in octave::tree_binary_expression.
|
inlinevirtualinherited |
Reimplemented in octave::tree_boolean_expression.
|
inlineinherited |
Definition at line 94 of file pt.h.
References octave::tree::m_bp_cond.
Referenced by octave::tree_statement::is_breakpoint(), and octave::tree_breakpoint::take_action().
|
inlinevirtualinherited |
Reimplemented in octave::tree_constant.
Definition at line 64 of file pt-exp.h.
Referenced by octave::tree_argument_list::all_elements_are_constant(), octave::base_parser::make_colon_expression(), octave::base_parser::maybe_warn_variable_switch_label(), and octave::base_parser::validate_matrix_for_assignment().
|
inlineinherited |
Definition at line 111 of file pt-exp.h.
References octave::tree_expression::for_cmd_expr.
Referenced by octave::tree_colon_expression::evaluate().
|
inlinevirtualinherited |
Reimplemented in octave::tree_identifier.
Definition at line 70 of file pt-exp.h.
Referenced by octave::tree_argument_list::append(), octave::compute_attribute_value(), octave::tree_evaluator::eval_string(), octave::tree_index_expression::evaluate_n(), octave::tree_evaluator::is_defined(), octave::tree_argument_list::is_valid_lvalue_list(), octave::tree_evaluator::is_variable(), octave::base_parser::make_assign_op(), octave::base_parser::make_try_command(), octave::tree_argument_list::variable_names(), octave::tree_evaluator::visit_statement(), and octave::jit_convert::visit_statement().
|
inlinevirtualinherited |
Reimplemented in octave::tree_index_expression.
Definition at line 72 of file pt-exp.h.
Referenced by octave::tree_argument_list::is_valid_lvalue_list(), octave::base_parser::make_assign_op(), octave::base_parser::make_index_expression(), octave::base_parser::make_indirect_ref(), and octave::tree_argument_list::variable_names().
|
inlinevirtualinherited |
Reimplemented in octave::tree_matrix.
Definition at line 66 of file pt-exp.h.
Referenced by octave::base_parser::validate_array_list(), and octave::base_parser::validate_matrix_for_assignment().
|
inlineinherited |
Definition at line 92 of file pt-exp.h.
References octave::tree_expression::postfix_index_type.
Referenced by octave::tree_superclass_ref::evaluate_n(), octave::tree_identifier::evaluate_n(), octave::base_parser::make_index_expression(), and octave::base_parser::make_indirect_ref().
|
inlinevirtualinherited |
|
inlinevirtualinherited |
Reimplemented in octave::tree_unary_expression.
Definition at line 78 of file pt-exp.h.
Referenced by octave::strip_trans_herm().
|
inlinevirtualinherited |
Reimplemented in octave::tree_cell.
|
inlineinherited |
Definition at line 64 of file pt.h.
References octave::tree::m_line_num.
|
inlinevirtualinherited |
Reimplemented in octave::tree_statement.
Definition at line 60 of file pt.h.
References octave::tree::m_line_num.
Referenced by octave::anon_fcn_validator::error(), octave::tree_identifier::eval_undefined_error(), octave::base_parser::finish_if_command(), octave::base_parser::finish_switch_command(), octave::tree_statement::line(), octave::base_parser::make_colon_expression(), octave::base_parser::make_fcn_name(), octave::base_parser::make_index_expression(), octave::base_parser::make_indirect_ref(), octave::base_parser::maybe_warn_assign_as_truth_value(), octave::base_parser::maybe_warn_variable_switch_label(), octave::tree_breakpoint::take_action(), octave::tree_checker::visit_argument_list(), octave::tree_breakpoint::visit_break_command(), octave::tree_evaluator::visit_break_command(), octave::tree_breakpoint::visit_complex_for_command(), octave::tree_checker::visit_complex_for_command(), octave::tree_evaluator::visit_complex_for_command(), octave::tree_breakpoint::visit_continue_command(), octave::tree_evaluator::visit_continue_command(), octave::tree_breakpoint::visit_decl_command(), octave::tree_evaluator::visit_decl_command(), octave::tree_breakpoint::visit_do_until_command(), octave::tree_evaluator::visit_do_until_command(), octave::tree_evaluator::visit_if_command(), octave::tree_breakpoint::visit_no_op_command(), octave::tree_evaluator::visit_no_op_command(), octave::tree_breakpoint::visit_return_command(), octave::tree_evaluator::visit_return_command(), octave::tree_checker::visit_simple_assignment(), octave::tree_breakpoint::visit_simple_for_command(), octave::tree_checker::visit_simple_for_command(), octave::tree_evaluator::visit_simple_for_command(), octave::tree_breakpoint::visit_switch_command(), octave::tree_evaluator::visit_switch_command(), octave::tree_checker::visit_try_catch_command(), octave::tree_evaluator::visit_try_catch_command(), octave::tree_evaluator::visit_unwind_protect_command(), octave::tree_breakpoint::visit_while_command(), and octave::tree_evaluator::visit_while_command().
|
virtualinherited |
Reimplemented in octave::tree_index_expression, octave::tree_black_hole, and octave::tree_identifier.
Definition at line 43 of file pt-exp.cc.
References error().
Referenced by octave::tree_prefix_expression::evaluate(), octave::tree_postfix_expression::evaluate(), octave::tree_simple_assignment::evaluate(), octave::tree_index_expression::lvalue(), octave::tree_evaluator::visit_complex_for_command(), and octave::tree_evaluator::visit_simple_for_command().
|
inlinevirtualinherited |
Reimplemented in octave::tree_index_expression, and octave::tree_identifier.
Definition at line 84 of file pt-exp.h.
Referenced by octave::tree_index_expression::lvalue_ok(), octave::tree_checker::visit_argument_list(), octave::tree_checker::visit_simple_assignment(), and octave::tree_checker::visit_simple_for_command().
|
inlineinherited |
Definition at line 109 of file pt-exp.h.
References octave::tree_expression::for_cmd_expr.
Referenced by octave::base_parser::make_for_command().
|
inlinevirtualinherited |
Reimplemented in octave::tree_binary_expression.
Definition at line 107 of file pt-exp.h.
Referenced by octave::tree_binary_expression::mark_braindead_shortcircuit().
|
inlineinherited |
Definition at line 113 of file pt-exp.h.
References octave::tree_expression::num_parens.
|
inherited |
Definition at line 62 of file pt.cc.
References octave::tree_evaluator::eval_string(), octave::tree_evaluator::get_interpreter(), interpreter_try(), octave::tree::m_bp_cond, octave::interpreter::recover_from_exception(), retval, and warning().
Referenced by octave::tree::is_active_breakpoint().
|
inlinevirtualinherited |
Reimplemented in octave::tree_index_expression, octave::tree_black_hole, octave::tree_identifier, and octave::tree_fcn_handle.
Definition at line 103 of file pt-exp.h.
Referenced by octave::compute_attribute_value(), octave::jit_convert::do_assign(), octave::tree_simple_assignment::evaluate(), evaluate(), octave::tree_multi_assignment::evaluate_n(), octave::tree_evaluator::final_index_error(), octave::base_parser::make_assign_op(), octave::tree_index_expression::name(), and octave::jit_convert::visit_statement().
|
inlinevirtualinherited |
Reimplemented in octave::tree_unary_expression, octave::tree_boolean_expression, octave::tree_binary_expression, octave::tree_multi_assignment, and octave::tree_simple_assignment.
Definition at line 101 of file pt-exp.h.
Referenced by octave::anon_fcn_validator::error().
|
delete |
|
virtualinherited |
Reimplemented in octave::tree_constant.
|
inline |
Definition at line 124 of file pt-fcn-handle.h.
References m_parameter_list.
Referenced by dup(), octave::tree_anon_scopes::visit_anon_fcn_handle(), and octave::tree_print_code::visit_anon_fcn_handle().
|
inlineinherited |
Definition at line 90 of file pt-exp.h.
References octave::tree_expression::num_parens.
Referenced by octave::base_parser::maybe_warn_assign_as_truth_value(), octave::tree_print_code::print_parens(), and octave::tree_print_code::visit_index_expression().
|
inline |
Definition at line 133 of file pt-fcn-handle.h.
References m_parent_scope.
Referenced by evaluate().
|
inlineinherited |
Definition at line 94 of file pt-exp.h.
References octave::tree_expression::postfix_index_type.
Referenced by octave::tree_identifier::evaluate_n().
|
inlineinherited |
Definition at line 99 of file pt-exp.h.
References octave::tree_expression::print_flag.
Referenced by octave::jit_convert::do_assign(), octave::tree_evaluator::eval_string(), octave::tree_simple_assignment::evaluate(), octave::tree_multi_assignment::evaluate_n(), octave::tree_identifier::evaluate_n(), octave::tree_statement::print_result(), octave::tree_evaluator::visit_statement(), and octave::jit_convert::visit_statement().
|
inlinevirtual |
Reimplemented from octave::tree_expression.
Definition at line 122 of file pt-fcn-handle.h.
|
inline |
Definition at line 131 of file pt-fcn-handle.h.
References m_scope.
|
inlinevirtualinherited |
Reimplemented in octave::tree_statement.
Definition at line 74 of file pt.h.
References octave::tree::m_bp_cond.
Referenced by octave::tree_statement::set_breakpoint(), and octave::tree_breakpoint::take_action().
|
inlineinherited |
Definition at line 68 of file pt.h.
References octave::tree::m_column_num, and octave::tree::m_line_num.
Referenced by octave::base_parser::finish_array_list(), and octave::tree_statement::set_location().
|
inlineinherited |
Definition at line 119 of file pt-exp.h.
References octave::tree_expression::postfix_index_type.
Referenced by octave::base_parser::make_index_expression(), and octave::base_parser::make_indirect_ref().
|
inlineinherited |
Definition at line 125 of file pt-exp.h.
References octave::tree_expression::print_flag.
Referenced by octave::tree_evaluator::eval_string(), octave::base_parser::make_anon_fcn_handle(), and octave::tree_statement::set_print_flag().
|
inline |
Definition at line 148 of file pt-fcn-handle.h.
References m_file_name.
|
inherited |
Definition at line 46 of file pt.cc.
References octave::tree::accept(), and retval.
Referenced by octave::jit_info::compile(), and octave::tree_argument_list::get_arg_names().
|
protectedinherited |
Definition at line 160 of file pt-exp.h.
Referenced by octave::tree_expression::is_for_cmd_expr(), and octave::tree_expression::mark_as_for_cmd_expr().
|
privateinherited |
Definition at line 123 of file pt.h.
Referenced by octave::tree::bp_cond(), octave::tree::delete_breakpoint(), octave::tree::is_active_breakpoint(), octave::tree::is_breakpoint(), octave::tree::meets_bp_condition(), and octave::tree::set_breakpoint().
|
privateinherited |
Definition at line 120 of file pt.h.
Referenced by octave::tree::column(), and octave::tree::set_location().
|
private |
Definition at line 158 of file pt-fcn-handle.h.
Referenced by ~tree_anon_fcn_handle(), evaluate(), and expression().
|
private |
Definition at line 167 of file pt-fcn-handle.h.
Referenced by file_name(), and stash_file_name().
|
privateinherited |
Definition at line 119 of file pt.h.
Referenced by octave::tree::line(), and octave::tree::set_location().
|
private |
Definition at line 155 of file pt-fcn-handle.h.
Referenced by ~tree_anon_fcn_handle(), evaluate(), and parameter_list().
|
private |
Definition at line 164 of file pt-fcn-handle.h.
Referenced by dup(), has_parent_scope(), and parent_scope().
|
private |
Definition at line 161 of file pt-fcn-handle.h.
Referenced by dup(), evaluate(), and scope().
|
protectedinherited |
Definition at line 151 of file pt-exp.h.
Referenced by octave::tree_expression::copy_base(), octave::tree_expression::mark_in_parens(), and octave::tree_expression::paren_count().
|
protectedinherited |
Definition at line 156 of file pt-exp.h.
Referenced by octave::tree_expression::copy_base(), octave::tree_expression::is_postfix_indexed(), octave::tree_expression::postfix_index(), and octave::tree_expression::set_postfix_index().
|
protectedinherited |
Definition at line 163 of file pt-exp.h.
Referenced by octave::tree_expression::copy_base(), octave::tree_expression::print_result(), and octave::tree_expression::set_print_flag().