#include "pt-exp.h"
Public Member Functions | |
tree_expression (int l=-1, int c=-1) | |
tree_expression (const tree_expression &)=delete | |
virtual | ~tree_expression (void)=default |
virtual void | accept (tree_walker &tw)=0 |
const std::string | bp_cond (void) const |
virtual int | column (void) const |
void | column (int c) |
virtual void | copy_base (const tree_expression &e) |
virtual void | delete_breakpoint (void) |
virtual tree_expression * | dup (symbol_scope &scope) const =0 |
virtual bool | has_magic_end (void) const =0 |
virtual bool | is_assignment_expression (void) const |
virtual bool | is_binary_expression (void) const |
virtual bool | is_boolean_expression (void) const |
bool | is_breakpoint (bool check_active=false) 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 |
virtual int | line (void) const |
void | line (int l) |
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 (void) const |
virtual std::string | name (void) const |
virtual std::string | oper (void) const |
tree_expression & | operator= (const tree_expression &)=delete |
virtual std::string | original_text (void) const |
int | paren_count (void) const |
char | postfix_index (void) const |
bool | print_result (void) const |
virtual bool | rvalue_ok (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) |
std::string | str_print_code (void) |
Protected Attributes | |
bool | for_cmd_expr |
int | num_parens |
char | postfix_index_type |
bool | print_flag |
|
inline |
|
delete |
|
virtualdefault |
|
pure virtualinherited |
Implemented in octave::tree_classdef, octave::tree_classdef_enum_block, octave::tree_classdef_events_block, octave::tree_classdef_methods_block, octave::tree_classdef_properties_block, octave::tree_complex_for_command, octave::tree_switch_command, octave::tree_simple_for_command, octave::tree_decl_command, octave::tree_classdef_element< T >, octave::tree_classdef_element< tree_classdef_event *>, octave::tree_classdef_element< tree_classdef_property *>, octave::tree_classdef_element< tree_classdef_enum *>, octave::tree_classdef_element< octave_value >, octave::tree_switch_case, octave::tree_boolean_expression, octave::tree_do_until_command, octave::tree_multi_assignment, octave::tree_unwind_protect_command, octave::tree_if_command, octave::tree_postfix_expression, octave::tree_anon_fcn_handle, octave::tree_identifier, octave::tree_statement, octave::tree_function_def, octave::tree_prefix_expression, octave::tree_binary_expression, octave::tree_index_expression, octave::tree_return_command, octave::tree_colon_expression, octave::tree_while_command, octave::tree_constant, octave::tree_array_list, octave::tree_simple_assignment, octave::tree_try_catch_command, octave::tree_fcn_handle, octave::tree_funcall, octave::tree_continue_command, octave::tree_no_op_command, octave::tree_if_clause, octave::tree_matrix, octave::tree_cell, octave::tree_compound_binary_expression, and octave::tree_break_command.
Referenced by octave::tree_evaluator::evaluate(), octave::tree_evaluator::evaluate_n(), octave::tree::str_print_code(), octave::jit_convert::visit(), octave::tree_print_code::visit_argument_list(), octave::tree_checker::visit_binary_expression(), octave::tree_print_code::visit_binary_expression(), octave::tree_checker::visit_colon_expression(), octave::tree_print_code::visit_colon_expression(), octave::tree_checker::visit_complex_for_command(), octave::tree_print_code::visit_complex_for_command(), octave::tree_checker::visit_decl_elt(), octave::tree_print_code::visit_decl_elt(), octave::tree_checker::visit_do_until_command(), octave::tree_print_code::visit_do_until_command(), octave::tree_checker::visit_if_clause(), octave::tree_print_code::visit_if_clause(), octave::tree_checker::visit_multi_assignment(), octave::tree_print_code::visit_multi_assignment(), octave::tree_checker::visit_simple_assignment(), octave::tree_print_code::visit_simple_assignment(), octave::tree_checker::visit_simple_for_command(), octave::tree_print_code::visit_simple_for_command(), octave::tree_checker::visit_statement(), octave::tree_breakpoint::visit_statement(), octave::tree_print_code::visit_statement(), octave::tree_evaluator::visit_statement(), octave::tree_checker::visit_switch_case(), octave::tree_print_code::visit_switch_case(), octave::tree_checker::visit_switch_command(), octave::tree_print_code::visit_switch_command(), octave::tree_checker::visit_while_command(), and octave::tree_print_code::visit_while_command().
|
inlineinherited |
Definition at line 97 of file pt.h.
References octave::tree::m_bp_cond.
Referenced by octave::tree_statement::bp_cond(), and octave::tree_breakpoint::take_action().
|
inlinevirtualinherited |
Reimplemented in octave::tree_statement.
Definition at line 58 of file pt.h.
References octave::tree::m_column_num.
Referenced by octave::tree_statement::column(), octave::tree_cell::dup(), octave::tree_matrix::dup(), octave::tree_funcall::dup(), octave::tree_fcn_handle::dup(), octave::tree_constant::dup(), octave::tree_colon_expression::dup(), octave::tree_index_expression::dup(), octave::tree_binary_expression::dup(), octave::tree_prefix_expression::dup(), octave::tree_identifier::dup(), octave::tree_anon_fcn_handle::dup(), octave::tree_postfix_expression::dup(), octave::tree_boolean_expression::dup(), octave::tree_identifier::eval_undefined_error(), octave::tree_evaluator::visit_do_until_command(), octave::tree_evaluator::visit_simple_for_command(), and octave::tree_evaluator::visit_switch_command().
|
inlineinherited |
Definition at line 62 of file pt.h.
References c, and octave::tree::m_column_num.
|
inlinevirtual |
Definition at line 130 of file pt-exp.h.
References e, num_parens, postfix_index_type, and print_flag.
Referenced by octave::tree_array_list::copy_base(), octave::tree_funcall::dup(), octave::tree_fcn_handle::dup(), octave::tree_simple_assignment::dup(), octave::tree_constant::dup(), octave::tree_colon_expression::dup(), octave::tree_index_expression::dup(), octave::tree_binary_expression::dup(), octave::tree_prefix_expression::dup(), octave::tree_identifier::dup(), octave::tree_anon_fcn_handle::dup(), octave::tree_postfix_expression::dup(), and octave::tree_boolean_expression::dup().
|
inlinevirtualinherited |
Reimplemented in octave::tree_statement.
Definition at line 78 of file pt.h.
References octave::tree::m_bp_cond.
Referenced by octave::tree_statement::delete_breakpoint(), and octave::tree_breakpoint::take_action().
|
pure virtual |
Implemented in octave::tree_boolean_expression, octave::tree_black_hole, octave::tree_multi_assignment, octave::tree_postfix_expression, octave::tree_anon_fcn_handle, octave::tree_identifier, octave::tree_prefix_expression, octave::tree_binary_expression, octave::tree_index_expression, octave::tree_colon_expression, octave::tree_constant, octave::tree_array_list, octave::tree_simple_assignment, octave::tree_fcn_handle, octave::tree_funcall, octave::tree_matrix, and octave::tree_cell.
Referenced by octave::tree_simple_assignment::dup(), octave::tree_colon_expression::dup(), octave::tree_index_expression::dup(), octave::tree_decl_elt::dup(), octave::tree_binary_expression::dup(), octave::tree_prefix_expression::dup(), octave::tree_anon_fcn_handle::dup(), octave::tree_postfix_expression::dup(), octave::tree_boolean_expression::dup(), and octave::tree_evaluator::visit_anon_fcn_handle().
|
pure virtual |
Implemented in octave::tree_multi_assignment, octave::tree_anon_fcn_handle, octave::tree_binary_expression, octave::tree_colon_expression, octave::tree_index_expression, octave::tree_array_list, octave::tree_simple_assignment, octave::tree_identifier, octave::tree_unary_expression, octave::tree_constant, octave::tree_fcn_handle, and octave::tree_funcall.
Referenced by octave::tree_simple_assignment::has_magic_end(), octave::tree_unary_expression::has_magic_end(), octave::tree_argument_list::has_magic_end(), octave::tree_colon_expression::has_magic_end(), octave::tree_binary_expression::has_magic_end(), and octave::tree_multi_assignment::has_magic_end().
|
inlinevirtual |
Reimplemented in octave::tree_multi_assignment, and octave::tree_simple_assignment.
Definition at line 73 of file pt-exp.h.
Referenced by octave::bp_table::condition_valid(), octave::jit_convert::visit_statement(), and octave::tree_evaluator::visit_statement().
|
inlinevirtual |
Reimplemented in octave::tree_binary_expression.
|
inlinevirtual |
Reimplemented in octave::tree_boolean_expression.
Definition at line 90 of file pt.h.
References octave::tree::m_bp_cond, and octave::tree::meets_bp_condition().
Referenced by octave::tree_statement::is_breakpoint(), octave::tree_breakpoint::take_action(), 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().
|
inlinevirtual |
Reimplemented in octave::tree_constant.
Definition at line 63 of file pt-exp.h.
Referenced by octave::tree_argument_list::all_elements_are_constant().
|
inline |
Definition at line 110 of file pt-exp.h.
References for_cmd_expr.
Referenced by octave::tree_evaluator::visit_colon_expression().
|
inlinevirtual |
Reimplemented in octave::tree_identifier.
Definition at line 69 of file pt-exp.h.
Referenced by octave::final_index_error(), octave::tree_argument_list::is_valid_lvalue_list(), octave::tree_evaluator::visit_index_expression(), octave::jit_convert::visit_statement(), and octave::tree_evaluator::visit_statement().
|
inlinevirtual |
Reimplemented in octave::tree_index_expression.
Definition at line 71 of file pt-exp.h.
Referenced by octave::tree_argument_list::has_magic_end(), and octave::tree_argument_list::is_valid_lvalue_list().
|
inlinevirtual |
Reimplemented in octave::tree_matrix.
|
inline |
Definition at line 91 of file pt-exp.h.
References postfix_index_type.
Referenced by octave::tree_evaluator::visit_funcall(), and octave::tree_evaluator::visit_identifier().
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in octave::tree_unary_expression.
Definition at line 77 of file pt-exp.h.
Referenced by octave::strip_trans_herm().
|
inlinevirtual |
Reimplemented in octave::tree_cell.
|
inlinevirtualinherited |
Reimplemented in octave::tree_statement.
Definition at line 56 of file pt.h.
References octave::tree::m_line_num.
Referenced by octave::tree_colon_expression::dup(), octave::tree_binary_expression::dup(), octave::tree_prefix_expression::dup(), octave::tree_anon_fcn_handle::dup(), octave::tree_postfix_expression::dup(), octave::tree_boolean_expression::dup(), octave::tree_identifier::eval_undefined_error(), octave::tree_statement::line(), 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_checker::visit_complex_for_command(), octave::tree_breakpoint::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_checker::visit_simple_for_command(), octave::tree_breakpoint::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().
|
inlineinherited |
Definition at line 60 of file pt.h.
References octave::tree::m_line_num.
|
virtual |
Reimplemented in octave::tree_black_hole, octave::tree_identifier, and octave::tree_index_expression.
Definition at line 41 of file pt-exp.cc.
References error().
Referenced by octave::tree_index_expression::lvalue(), octave::tree_evaluator::visit_complex_for_command(), octave::tree_evaluator::visit_postfix_expression(), octave::tree_evaluator::visit_prefix_expression(), octave::tree_evaluator::visit_simple_assignment(), and octave::tree_evaluator::visit_simple_for_command().
|
inlinevirtual |
Reimplemented in octave::tree_identifier, and octave::tree_index_expression.
Definition at line 83 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().
|
inline |
Definition at line 108 of file pt-exp.h.
References for_cmd_expr.
|
inlinevirtual |
Reimplemented in octave::tree_binary_expression.
Definition at line 106 of file pt-exp.h.
Referenced by octave::tree_binary_expression::mark_braindead_shortcircuit().
|
inline |
Definition at line 112 of file pt-exp.h.
References num_parens.
|
inherited |
Definition at line 59 of file pt.cc.
References buffer_error_messages, dims, e, octave::eval_string(), frame, last_error_message(), octave::tree::m_bp_cond, octave::action_container::protect_var(), retval, str, val, Vdebug_on_error, Vdebug_on_warning, and warning().
Referenced by octave::tree::is_breakpoint().
|
inlinevirtual |
Reimplemented in octave::tree_black_hole, octave::tree_index_expression, octave::tree_identifier, and octave::tree_fcn_handle.
Definition at line 102 of file pt-exp.h.
Referenced by octave::jit_convert::do_assign(), octave::final_index_error(), octave::tree_index_expression::name(), octave::tree_evaluator::visit_multi_assignment(), octave::tree_evaluator::visit_simple_assignment(), and octave::jit_convert::visit_statement().
|
inlinevirtual |
|
delete |
|
virtual |
Reimplemented in octave::tree_constant.
Definition at line 47 of file pt-exp.cc.
Referenced by octave::tree_funcall::print_raw().
|
inline |
Definition at line 89 of file pt-exp.h.
References num_parens.
Referenced by octave::tree_print_code::print_parens(), and octave::tree_print_code::visit_index_expression().
|
inline |
Definition at line 93 of file pt-exp.h.
References postfix_index_type.
Referenced by octave::tree_evaluator::visit_funcall(), and octave::tree_evaluator::visit_identifier().
|
inline |
Definition at line 98 of file pt-exp.h.
References print_flag.
Referenced by octave::jit_convert::do_assign(), octave::tree_statement::print_result(), octave::tree_evaluator::visit_identifier(), octave::tree_evaluator::visit_multi_assignment(), octave::tree_evaluator::visit_simple_assignment(), octave::jit_convert::visit_statement(), and octave::tree_evaluator::visit_statement().
|
inlinevirtual |
Reimplemented in octave::tree_boolean_expression, octave::tree_multi_assignment, octave::tree_postfix_expression, octave::tree_anon_fcn_handle, octave::tree_prefix_expression, octave::tree_index_expression, octave::tree_binary_expression, octave::tree_colon_expression, octave::tree_constant, octave::tree_fcn_handle, octave::tree_simple_assignment, octave::tree_matrix, octave::tree_cell, and octave::tree_compound_binary_expression.
|
inlinevirtualinherited |
Reimplemented in octave::tree_statement.
Definition at line 70 of file pt.h.
References octave::tree::m_bp_cond, and string.
Referenced by octave::tree_statement::set_breakpoint(), and octave::tree_breakpoint::take_action().
|
inlineinherited |
Definition at line 64 of file pt.h.
References c, octave::tree::m_column_num, and octave::tree::m_line_num.
Referenced by octave::tree_statement::set_location().
|
inline |
Definition at line 118 of file pt-exp.h.
References postfix_index_type, and type.
|
inline |
Definition at line 124 of file pt-exp.h.
References print_flag.
Referenced by octave::tree_statement::set_print_flag().
|
inherited |
Definition at line 42 of file pt.cc.
References octave::tree::accept(), retval, and string.
Referenced by octave::jit_info::compile().
|
protected |
Definition at line 154 of file pt-exp.h.
Referenced by is_for_cmd_expr(), and mark_as_for_cmd_expr().
|
protected |
Definition at line 145 of file pt-exp.h.
Referenced by copy_base(), mark_in_parens(), and paren_count().
|
protected |
Definition at line 150 of file pt-exp.h.
Referenced by copy_base(), is_postfix_indexed(), postfix_index(), and set_postfix_index().
|
protected |
Definition at line 157 of file pt-exp.h.
Referenced by copy_base(), print_result(), and set_print_flag().