#include "pt.h"
Public Member Functions | |
tree () | |
virtual | ~tree ()=default |
virtual void | accept (tree_walker &tw)=0 |
virtual filepos | beg_pos () const =0 |
const std::string | bp_cond () const |
virtual int | column () const |
virtual void | delete_breakpoint () |
virtual filepos | end_pos () const =0 |
bool | is_active_breakpoint (tree_evaluator &tw) const |
bool | is_breakpoint () const |
virtual comment_list | leading_comments () const |
virtual int | line () const |
bool | meets_bp_condition (tree_evaluator &tw) const |
virtual void | set_breakpoint (const std::string &condition) |
std::string | str_print_code () |
|
virtualdefault |
|
pure virtual |
Implemented in tree_base_classdef_block, tree_arguments_block, tree_array_list, tree_simple_assignment, tree_multi_assignment, tree_binary_expression, tree_boolean_expression, tree_compound_binary_expression, tree_cell, tree_superclass_ref, tree_metaclass_query, tree_classdef_properties_block, tree_classdef_methods_block, tree_classdef_events_block, tree_classdef_enum_block, tree_classdef, tree_no_op_command, tree_function_def, tree_colon_expression, tree_constant, tree_decl_command, tree_try_catch_command, tree_unwind_protect_command, tree_fcn_handle, tree_anon_fcn_handle, tree_identifier, tree_index_expression, tree_break_command, tree_continue_command, tree_return_command, tree_while_command, tree_do_until_command, tree_simple_for_command, tree_complex_for_command, tree_matrix, tree_if_clause, tree_if_command, tree_switch_case, tree_switch_command, tree_spmd_command, tree_statement, tree_prefix_expression, and tree_postfix_expression.
Referenced by tree_print_code::print_fcn_handle_body(), str_print_code(), tree_anon_scopes::visit_anon_fcn_handle(), tree_walker::visit_anon_fcn_handle(), tree_walker::visit_arg_validation(), tree_print_code::visit_argument_list(), tree_walker::visit_argument_list(), tree_print_code::visit_binary_expression(), tree_walker::visit_binary_expression(), tree_walker::visit_classdef_attribute(), tree_print_code::visit_colon_expression(), tree_walker::visit_colon_expression(), tree_checker::visit_complex_for_command(), tree_print_code::visit_complex_for_command(), tree_walker::visit_complex_for_command(), tree_print_code::visit_decl_elt(), tree_walker::visit_decl_elt(), tree_print_code::visit_do_until_command(), tree_walker::visit_do_until_command(), tree_print_code::visit_if_clause(), tree_walker::visit_if_clause(), tree_print_code::visit_index_expression(), tree_walker::visit_index_expression(), tree_checker::visit_multi_assignment(), tree_print_code::visit_multi_assignment(), tree_walker::visit_multi_assignment(), tree_print_code::visit_postfix_expression(), tree_walker::visit_postfix_expression(), tree_print_code::visit_prefix_expression(), tree_walker::visit_prefix_expression(), tree_checker::visit_simple_assignment(), tree_print_code::visit_simple_assignment(), tree_walker::visit_simple_assignment(), tree_checker::visit_simple_for_command(), tree_print_code::visit_simple_for_command(), tree_walker::visit_simple_for_command(), tree_anon_scopes::visit_statement(), tree_breakpoint::visit_statement(), tree_evaluator::visit_statement(), tree_print_code::visit_statement(), tree_walker::visit_statement(), tree_print_code::visit_switch_case(), tree_walker::visit_switch_case(), tree_print_code::visit_switch_command(), tree_walker::visit_switch_command(), tree_print_code::visit_while_command(), and tree_walker::visit_while_command().
|
pure virtual |
Implemented in tree_arguments_block, tree_array_list, tree_simple_assignment, tree_multi_assignment, tree_binary_expression, tree_superclass_ref, tree_metaclass_query, tree_classdef_block< T >, tree_classdef_block< tree_classdef_enum_list >, tree_classdef_block< tree_classdef_event_list >, tree_classdef_block< tree_classdef_method_list >, tree_classdef_block< tree_classdef_property_list >, tree_classdef, tree_no_op_command, tree_function_def, tree_colon_expression, tree_constant, tree_decl_command, tree_try_catch_command, tree_unwind_protect_command, tree_fcn_handle, tree_anon_fcn_handle, tree_identifier, tree_index_expression, tree_jump_command, tree_while_command, tree_do_until_command, tree_simple_for_command, tree_complex_for_command, tree_if_clause, tree_if_command, tree_switch_case, tree_switch_command, tree_spmd_command, tree_statement, tree_prefix_expression, and tree_postfix_expression.
Referenced by tree_argument_list::beg_pos(), tree_simple_assignment::beg_pos(), tree_binary_expression::beg_pos(), tree_colon_expression::beg_pos(), tree_index_expression::beg_pos(), tree_statement::beg_pos(), tree_postfix_expression::beg_pos(), column(), and line().
|
inline |
Definition at line 94 of file pt.h.
Referenced by tree_statement::bp_cond().
|
virtual |
Reimplemented in tree_statement.
Definition at line 51 of file pt.cc.
References beg_pos(), and filepos::column().
Referenced by tree_statement::column(), tree_identifier::eval_undefined_error(), tree_evaluator::visit_simple_for_command(), and tree_evaluator::visit_switch_command().
|
inlinevirtual |
Reimplemented in tree_statement.
Definition at line 73 of file pt.h.
Referenced by tree_statement::delete_breakpoint().
|
pure virtual |
Implemented in tree_arguments_block, tree_array_list, tree_simple_assignment, tree_multi_assignment, tree_binary_expression, tree_superclass_ref, tree_metaclass_query, tree_classdef_block< T >, tree_classdef_block< tree_classdef_enum_list >, tree_classdef_block< tree_classdef_event_list >, tree_classdef_block< tree_classdef_method_list >, tree_classdef_block< tree_classdef_property_list >, tree_classdef, tree_no_op_command, tree_function_def, tree_colon_expression, tree_constant, tree_decl_command, tree_try_catch_command, tree_unwind_protect_command, tree_fcn_handle, tree_anon_fcn_handle, tree_identifier, tree_index_expression, tree_jump_command, tree_while_command, tree_do_until_command, tree_simple_for_command, tree_complex_for_command, tree_if_clause, tree_if_command, tree_switch_case, tree_switch_command, tree_spmd_command, tree_statement, tree_prefix_expression, and tree_postfix_expression.
Referenced by tree_argument_list::end_pos(), tree_simple_assignment::end_pos(), tree_multi_assignment::end_pos(), tree_binary_expression::end_pos(), tree_classdef_attribute::end_pos(), tree_colon_expression::end_pos(), tree_decl_elt::end_pos(), tree_anon_fcn_handle::end_pos(), tree_index_expression::end_pos(), tree_do_until_command::end_pos(), tree_statement::end_pos(), and tree_prefix_expression::end_pos().
|
inline |
Definition at line 87 of file pt.h.
References meets_bp_condition().
Referenced by tree_statement::is_active_breakpoint(), tree_evaluator::visit_break_command(), tree_evaluator::visit_complex_for_command(), tree_evaluator::visit_continue_command(), tree_evaluator::visit_decl_command(), tree_evaluator::visit_do_until_command(), tree_evaluator::visit_no_op_command(), tree_evaluator::visit_return_command(), tree_evaluator::visit_simple_for_command(), tree_evaluator::visit_statement(), tree_evaluator::visit_switch_command(), and tree_evaluator::visit_while_command().
|
inline |
Definition at line 82 of file pt.h.
Referenced by tree_statement::is_breakpoint().
|
virtual |
Reimplemented in tree_simple_assignment, tree_base_classdef_block, tree_classdef, tree_no_op_command, tree_identifier, tree_index_expression, tree_if_clause, tree_if_command, tree_switch_case, tree_switch_command, and tree_statement.
Definition at line 57 of file pt.cc.
Referenced by tree_simple_assignment::leading_comments(), tree_index_expression::leading_comments(), tree_statement::leading_comments(), tree_print_code::visit_complex_for_command(), tree_print_code::visit_do_until_command(), tree_print_code::visit_simple_for_command(), tree_print_code::visit_spmd_command(), tree_print_code::visit_try_catch_command(), tree_print_code::visit_unwind_protect_command(), and tree_print_code::visit_while_command().
|
virtual |
Reimplemented in tree_statement.
Definition at line 45 of file pt.cc.
References beg_pos(), and filepos::line().
Referenced by tree_identifier::eval_undefined_error(), tree_statement::line(), tree_checker::visit_argument_list(), tree_breakpoint::visit_break_command(), tree_evaluator::visit_break_command(), tree_breakpoint::visit_complex_for_command(), tree_checker::visit_complex_for_command(), tree_evaluator::visit_complex_for_command(), tree_breakpoint::visit_continue_command(), tree_evaluator::visit_continue_command(), tree_breakpoint::visit_decl_command(), tree_evaluator::visit_decl_command(), tree_breakpoint::visit_do_until_command(), tree_evaluator::visit_do_until_command(), tree_evaluator::visit_if_command(), tree_breakpoint::visit_no_op_command(), tree_evaluator::visit_no_op_command(), tree_breakpoint::visit_return_command(), tree_evaluator::visit_return_command(), tree_checker::visit_simple_assignment(), tree_breakpoint::visit_simple_for_command(), tree_checker::visit_simple_for_command(), tree_evaluator::visit_simple_for_command(), tree_breakpoint::visit_switch_command(), tree_evaluator::visit_switch_command(), tree_checker::visit_try_catch_command(), tree_evaluator::visit_try_catch_command(), tree_evaluator::visit_unwind_protect_command(), tree_breakpoint::visit_while_command(), and tree_evaluator::visit_while_command().
bool tree::meets_bp_condition | ( | tree_evaluator & | tw | ) | const |
Definition at line 82 of file pt.cc.
References tree_evaluator::eval_string(), tree_evaluator::get_interpreter(), interpreter::recover_from_exception(), and warning().
Referenced by is_active_breakpoint().
|
inlinevirtual |
Reimplemented in tree_statement.
Definition at line 65 of file pt.h.
Referenced by tree_statement::set_breakpoint().