#include "pt-idx.h"
Protected Attributes | |
bool | m_for_cmd_expr |
int | m_num_parens |
char | m_postfix_index_type |
bool | m_print_flag |
Private Member Functions | |
tree_index_expression (int l, int c) | |
octave_map | make_arg_struct (void) const |
Private Attributes | |
std::list< string_vector > | m_arg_nm |
std::list< tree_argument_list * > | m_args |
std::string * | m_bp_cond |
int | m_column_num |
std::list< tree_expression * > | m_dyn_field |
tree_expression * | m_expr |
int | m_line_num |
std::string | m_type |
bool | m_word_list_cmd |
octave::tree_index_expression::tree_index_expression | ( | tree_expression * | e = nullptr , |
tree_argument_list * | lst = nullptr , |
||
int | l = -1 , |
||
int | c = -1 , |
||
char | t = '(' |
||
) |
octave::tree_index_expression::tree_index_expression | ( | tree_expression * | e, |
const std::string & | n, | ||
int | l = -1 , |
||
int | c = -1 |
||
) |
octave::tree_index_expression::tree_index_expression | ( | tree_expression * | e, |
tree_expression * | df, | ||
int | l = -1 , |
||
int | c = -1 |
||
) |
|
delete |
octave::tree_index_expression::~tree_index_expression | ( | void | ) |
Definition at line 116 of file pt-idx.cc.
References m_args, m_dyn_field, and m_expr.
|
inlinevirtual |
Implements octave::tree.
Definition at line 115 of file pt-idx.h.
References octave::tree_walker::visit_index_expression().
tree_index_expression * octave::tree_index_expression::append | ( | const std::string & | n | ) |
tree_index_expression * octave::tree_index_expression::append | ( | tree_argument_list * | lst = nullptr , |
char | t = '(' |
||
) |
Definition at line 81 of file pt-idx.cc.
References error(), octave::tree_argument_list::get_arg_names(), octave::tree_argument_list::has_magic_tilde(), m_arg_nm, m_args, m_dyn_field, and m_type.
Referenced by tree_index_expression(), and octave::base_parser::make_index_expression().
tree_index_expression * octave::tree_index_expression::append | ( | tree_expression * | df | ) |
|
inline |
Definition at line 86 of file pt-idx.h.
References m_args.
Referenced by octave::tree_print_code::visit_index_expression(), and octave::tree_walker::visit_index_expression().
|
inline |
Definition at line 90 of file pt-idx.h.
References m_arg_nm.
Referenced by octave::tree_print_code::visit_index_expression(), and octave::tree_walker::visit_index_expression().
|
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(), octave::tree_anon_fcn_handle::dup(), octave::tree_identifier::dup(), 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::maybe_warn_assign_as_truth_value(), and octave::base_parser::maybe_warn_variable_switch_label().
|
inlinevirtualinherited |
Reimplemented in octave::tree_array_list.
Definition at line 133 of file pt-exp.h.
References octave::tree_expression::m_num_parens, octave::tree_expression::m_postfix_index_type, and octave::tree_expression::m_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(), octave::tree_anon_fcn_handle::dup(), octave::tree_identifier::dup(), 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 243 of file pt-idx.cc.
References tree_index_expression(), octave::tree::column(), octave::tree_expression::copy_base(), octave::tree_expression::dup(), octave::tree::line(), m_arg_nm, m_args, m_dyn_field, m_expr, and m_type.
|
inline |
Definition at line 92 of file pt-idx.h.
References m_dyn_field.
Referenced by octave::tree_print_code::visit_index_expression(), and octave::tree_walker::visit_index_expression().
|
inlinevirtual |
Implements octave::tree_expression.
Definition at line 106 of file pt-idx.h.
References evaluate_n(), octave_value_list::length(), and octave_value().
|
virtual |
Implements octave::tree_expression.
Definition at line 345 of file pt-idx.cc.
References tree_evaluator::append_index_list(), octave_function::call(), octave_value_list::clear(), tree_evaluator::clear_index_list(), tree_evaluator::convert_to_const_vector(), err_indexed_cs_list(), error(), octave::tree_expression::evaluate(), tree_evaluator::final_index_error(), symbol_table::find_function(), octave_value::function_value(), tree_evaluator::get_interpreter(), get_struct_index(), interpreter::get_symbol_table(), tree_evaluator::index_list(), tree_evaluator::index_type(), tree_evaluator::indexed_object(), 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(), tree_evaluator::is_variable(), is_word_list_cmd(), octave_value::isjava(), octave_value::isobject(), octave_value_list::length(), octave::base_list< elt_type >::length(), tree_evaluator::lvalue_list(), m_arg_nm, m_args, m_dyn_field, m_expr, m_type, tree_evaluator::make_value_list(), octave_value(), panic_impossible, tree_evaluator::set_index_list(), tree_evaluator::set_indexed_object(), tree_evaluator::set_lvalue_list(), octave_value_list::stash_name_tags(), and octave_value::subsref().
Referenced by evaluate().
|
inline |
Definition at line 84 of file pt-idx.h.
References m_expr.
Referenced by octave::tree_print_code::visit_index_expression(), octave::tree_walker::visit_index_expression(), and octave::ctor_analyzer::visit_index_expression().
std::string octave::tree_index_expression::get_struct_index | ( | tree_evaluator & | tw, |
std::list< string_vector >::const_iterator | p_arg_nm, | ||
std::list< tree_expression * >::const_iterator | p_dyn_field | ||
) | const |
Definition at line 145 of file pt-idx.cc.
References octave::tree_expression::evaluate(), panic_impossible, and octave_value::xstring_value().
Referenced by evaluate_n(), and lvalue().
|
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().
|
inlinevirtualinherited |
Reimplemented in octave::tree_simple_assignment, and octave::tree_multi_assignment.
Definition at line 74 of file pt-exp.h.
Referenced by octave::bp_table::condition_valid(), and octave::base_parser::maybe_warn_assign_as_truth_value().
|
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_colon_expression.
|
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 113 of file pt-exp.h.
References octave::tree_expression::m_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(), evaluate_n(), octave::tree_argument_list::is_valid_lvalue_list(), octave::base_parser::make_assign_op(), octave::base_parser::make_try_command(), and octave::tree_argument_list::variable_names().
|
inlinevirtual |
Reimplemented from octave::tree_expression.
|
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 94 of file pt-exp.h.
References octave::tree_expression::m_postfix_index_type.
Referenced by octave::tree_superclass_ref::evaluate_n(), octave::tree_identifier::evaluate_n(), and octave::base_parser::make_index_expression().
|
inlinevirtualinherited |
|
inlinevirtualinherited |
Reimplemented in octave::tree_unary_expression.
Definition at line 78 of file pt-exp.h.
Referenced by octave::strip_trans_herm().
|
inline |
|
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::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(), octave::tree_anon_fcn_handle::dup(), octave::tree_identifier::dup(), 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::tree_statement::line(), octave::base_parser::make_colon_expression(), octave::base_parser::make_fcn_name(), octave::base_parser::make_index_expression(), 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_breakpoint::visit_complex_for_command(), octave::tree_checker::visit_complex_for_command(), octave::tree_breakpoint::visit_continue_command(), octave::tree_breakpoint::visit_decl_command(), octave::tree_breakpoint::visit_do_until_command(), octave::tree_breakpoint::visit_no_op_command(), octave::tree_breakpoint::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_breakpoint::visit_switch_command(), octave::tree_checker::visit_try_catch_command(), and octave::tree_breakpoint::visit_while_command().
|
virtual |
Reimplemented from octave::tree_expression.
Definition at line 170 of file pt-idx.cc.
References tree_evaluator::append_index_list(), tree_evaluator::clear_index_list(), error(), get_struct_index(), tree_evaluator::index_list(), tree_evaluator::index_type(), tree_evaluator::indexed_object(), octave::tree_expression::lvalue(), m_arg_nm, m_args, m_dyn_field, m_expr, m_type, tree_evaluator::make_value_list(), panic_impossible, octave::octave_lvalue::set_index(), tree_evaluator::set_index_list(), tree_evaluator::set_indexed_object(), and octave::octave_lvalue::value().
|
inlinevirtual |
Reimplemented from octave::tree_expression.
Definition at line 98 of file pt-idx.h.
References octave::tree_expression::lvalue_ok(), and m_expr.
|
private |
|
inlineinherited |
Definition at line 111 of file pt-exp.h.
References octave::tree_expression::m_for_cmd_expr.
Referenced by octave::base_parser::make_for_command().
|
inlinevirtualinherited |
Reimplemented in octave::tree_binary_expression.
Definition at line 109 of file pt-exp.h.
Referenced by octave::tree_binary_expression::mark_braindead_shortcircuit().
|
inlineinherited |
Definition at line 115 of file pt-exp.h.
References octave::tree_expression::m_num_parens.
|
inline |
Definition at line 94 of file pt-idx.h.
References m_word_list_cmd.
|
inherited |
Definition at line 62 of file pt.cc.
References tree_evaluator::eval_string(), tree_evaluator::get_interpreter(), interpreter_try(), octave::tree::m_bp_cond, interpreter::recover_from_exception(), and warning().
Referenced by octave::tree::is_active_breakpoint().
|
virtual |
Reimplemented from octave::tree_expression.
Definition at line 139 of file pt-idx.cc.
References m_expr, and octave::tree_expression::name().
Referenced by octave::tree_argument_list::variable_names().
|
inlinevirtualinherited |
Reimplemented in octave::tree_simple_assignment, octave::tree_multi_assignment, octave::tree_binary_expression, octave::tree_boolean_expression, and octave::tree_unary_expression.
Definition at line 103 of file pt-exp.h.
Referenced by octave::anon_fcn_validator::error().
|
delete |
|
virtualinherited |
Reimplemented in octave::tree_constant.
|
inlineinherited |
Definition at line 92 of file pt-exp.h.
References octave::tree_expression::m_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().
|
inlineinherited |
Definition at line 96 of file pt-exp.h.
References octave::tree_expression::m_postfix_index_type.
Referenced by octave::tree_identifier::evaluate_n().
|
inlineinherited |
Definition at line 101 of file pt-exp.h.
References octave::tree_expression::m_print_flag.
Referenced by octave::tree_simple_assignment::evaluate(), octave::tree_multi_assignment::evaluate_n(), octave::tree_identifier::evaluate_n(), and octave::tree_statement::print_result().
|
inlinevirtual |
Reimplemented from octave::tree_expression.
|
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().
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 121 of file pt-exp.h.
References octave::tree_expression::m_postfix_index_type.
Referenced by octave::base_parser::make_index_expression().
|
inlineinherited |
Definition at line 127 of file pt-exp.h.
References octave::tree_expression::m_print_flag.
Referenced by octave::base_parser::make_anon_fcn_handle(), and octave::tree_statement::set_print_flag().
|
inherited |
Definition at line 46 of file pt.cc.
References octave::tree::accept().
Referenced by octave::tree_argument_list::get_arg_names().
|
inline |
Definition at line 88 of file pt-idx.h.
References m_type.
Referenced by octave::tree_print_code::visit_index_expression(), and octave::tree_walker::visit_index_expression().
|
private |
Definition at line 138 of file pt-idx.h.
Referenced by append(), arg_names(), dup(), evaluate_n(), and lvalue().
|
private |
Definition at line 131 of file pt-idx.h.
Referenced by ~tree_index_expression(), append(), arg_lists(), dup(), evaluate_n(), and lvalue().
|
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 141 of file pt-idx.h.
Referenced by ~tree_index_expression(), append(), dup(), dyn_fields(), evaluate_n(), and lvalue().
|
private |
Definition at line 128 of file pt-idx.h.
Referenced by ~tree_index_expression(), dup(), evaluate_n(), expression(), lvalue(), lvalue_ok(), and name().
|
protectedinherited |
Definition at line 162 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 119 of file pt.h.
Referenced by octave::tree::line(), and octave::tree::set_location().
|
protectedinherited |
Definition at line 153 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 158 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 165 of file pt-exp.h.
Referenced by octave::tree_expression::copy_base(), octave::tree_expression::print_result(), and octave::tree_expression::set_print_flag().
|
private |
Definition at line 134 of file pt-idx.h.
Referenced by append(), dup(), evaluate_n(), lvalue(), and type_tags().
|
private |
Definition at line 144 of file pt-idx.h.
Referenced by is_word_list_cmd(), and mark_word_list_cmd().