GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
octave::tree_identifier Class Reference

#include "pt-id.h"

Inheritance diagram for octave::tree_identifier:
Collaboration diagram for octave::tree_identifier:

Public Member Functions

 tree_identifier (int l=-1, int c=-1)
 
 tree_identifier (const symbol_record &s, int l=-1, int c=-1)
 
 tree_identifier (const tree_identifier &)=delete
 
 ~tree_identifier (void)=default
 
void accept (tree_walker &tw)
 
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)
 
octave_value do_lookup (symbol_record::context_id context, const octave_value_list &args=octave_value_list())
 
tree_identifierdup (symbol_scope &scope) const
 
void eval_undefined_error (void)
 
bool has_magic_end (void) const
 
virtual bool is_assignment_expression (void) const
 
virtual bool is_binary_expression (void) const
 
virtual bool is_black_hole (void)
 
virtual bool is_boolean_expression (void) const
 
bool is_breakpoint (bool check_active=false) const
 
virtual bool is_constant (void) const
 
bool is_defined (symbol_record::context_id context)
 
bool is_for_cmd_expr (void) const
 
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 is_variable (symbol_record::context_id context) const
 
virtual bool iscell (void) const
 
virtual int line (void) const
 
void line (int l)
 
void link_to_global (const symbol_scope &global_scope, const symbol_record &global_sym)
 
octave_lvalue lvalue (tree_evaluator *)
 
bool lvalue_ok (void) const
 
void mark_as_for_cmd_expr (void)
 
void mark_as_formal_parameter (void)
 
virtual void mark_braindead_shortcircuit (void)
 
tree_expressionmark_in_parens (void)
 
void mark_persistent (void)
 
bool meets_bp_condition (void) const
 
std::string name (void) const
 
virtual std::string oper (void) const
 
tree_identifieroperator= (const tree_identifier &)=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_expressionset_postfix_index (char type)
 
tree_expressionset_print_flag (bool print)
 
void static_workspace_error (void)
 
std::string str_print_code (void)
 
symbol_record symbol (void) const
 

Protected Attributes

bool for_cmd_expr
 
int num_parens
 
char postfix_index_type
 
bool print_flag
 

Private Attributes

symbol_record m_sym
 

Friends

class tree_index_expression
 

Detailed Description

Definition at line 47 of file pt-id.h.

Constructor & Destructor Documentation

◆ tree_identifier() [1/3]

octave::tree_identifier::tree_identifier ( int  l = -1,
int  c = -1 
)
inline

Definition at line 53 of file pt-id.h.

Referenced by dup().

◆ tree_identifier() [2/3]

octave::tree_identifier::tree_identifier ( const symbol_record s,
int  l = -1,
int  c = -1 
)
inline

Definition at line 56 of file pt-id.h.

◆ tree_identifier() [3/3]

octave::tree_identifier::tree_identifier ( const tree_identifier )
delete

◆ ~tree_identifier()

octave::tree_identifier::~tree_identifier ( void  )
default

Member Function Documentation

◆ accept()

void octave::tree_identifier::accept ( tree_walker tw)
inlinevirtual

◆ bp_cond()

const std::string octave::tree::bp_cond ( void  ) const
inlineinherited

◆ column() [1/2]

◆ column() [2/2]

void octave::tree::column ( int  c)
inlineinherited

Definition at line 62 of file pt.h.

References c, and octave::tree::m_column_num.

◆ copy_base()

◆ delete_breakpoint()

virtual void octave::tree::delete_breakpoint ( void  )
inlinevirtualinherited

◆ do_lookup()

octave_value octave::tree_identifier::do_lookup ( symbol_record::context_id  context,
const octave_value_list args = octave_value_list () 
)
inline

Definition at line 102 of file pt-id.h.

References octave::context, octave::symbol_record::find(), and m_sym.

◆ dup()

tree_identifier * octave::tree_identifier::dup ( symbol_scope scope) const
virtual

◆ eval_undefined_error()

void octave::tree_identifier::eval_undefined_error ( void  )

◆ has_magic_end()

bool octave::tree_identifier::has_magic_end ( void  ) const
inlinevirtual

Implements octave::tree_expression.

Definition at line 68 of file pt-id.h.

References name().

Referenced by octave::jit_convert::visit_identifier().

◆ is_assignment_expression()

virtual bool octave::tree_expression::is_assignment_expression ( void  ) const
inlinevirtualinherited

◆ is_binary_expression()

virtual bool octave::tree_expression::is_binary_expression ( void  ) const
inlinevirtualinherited

Reimplemented in octave::tree_binary_expression.

Definition at line 79 of file pt-exp.h.

◆ is_black_hole()

virtual bool octave::tree_identifier::is_black_hole ( void  )
inlinevirtual

Reimplemented in octave::tree_black_hole.

Definition at line 84 of file pt-id.h.

◆ is_boolean_expression()

virtual bool octave::tree_expression::is_boolean_expression ( void  ) const
inlinevirtualinherited

Reimplemented in octave::tree_boolean_expression.

Definition at line 81 of file pt-exp.h.

◆ is_breakpoint()

◆ is_constant()

virtual bool octave::tree_expression::is_constant ( void  ) const
inlinevirtualinherited

Reimplemented in octave::tree_constant.

Definition at line 63 of file pt-exp.h.

Referenced by octave::tree_argument_list::all_elements_are_constant().

◆ is_defined()

bool octave::tree_identifier::is_defined ( symbol_record::context_id  context)
inline

Definition at line 74 of file pt-id.h.

References octave::context, octave::symbol_record::is_defined(), and m_sym.

Referenced by octave::tree_decl_elt::is_defined().

◆ is_for_cmd_expr()

bool octave::tree_expression::is_for_cmd_expr ( void  ) const
inlineinherited

◆ is_identifier()

bool octave::tree_identifier::is_identifier ( void  ) const
inlinevirtual

Reimplemented from octave::tree_expression.

Definition at line 70 of file pt-id.h.

◆ is_index_expression()

virtual bool octave::tree_expression::is_index_expression ( void  ) const
inlinevirtualinherited

◆ is_matrix()

virtual bool octave::tree_expression::is_matrix ( void  ) const
inlinevirtualinherited

Reimplemented in octave::tree_matrix.

Definition at line 65 of file pt-exp.h.

◆ is_postfix_indexed()

bool octave::tree_expression::is_postfix_indexed ( void  ) const
inlineinherited

◆ is_prefix_expression()

virtual bool octave::tree_expression::is_prefix_expression ( void  ) const
inlinevirtualinherited

Definition at line 75 of file pt-exp.h.

◆ is_unary_expression()

virtual bool octave::tree_expression::is_unary_expression ( void  ) const
inlinevirtualinherited

Reimplemented in octave::tree_unary_expression.

Definition at line 77 of file pt-exp.h.

Referenced by octave::strip_trans_herm().

◆ is_variable()

virtual bool octave::tree_identifier::is_variable ( symbol_record::context_id  context) const
inlinevirtual

Reimplemented in octave::tree_black_hole.

Definition at line 79 of file pt-id.h.

References octave::context, octave::symbol_record::is_variable(), and m_sym.

Referenced by octave::tree_decl_elt::is_variable().

◆ iscell()

virtual bool octave::tree_expression::iscell ( void  ) const
inlinevirtualinherited

Reimplemented in octave::tree_cell.

Definition at line 67 of file pt-exp.h.

◆ line() [1/2]

virtual int octave::tree::line ( void  ) const
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(), 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().

◆ line() [2/2]

void octave::tree::line ( int  l)
inlineinherited

Definition at line 60 of file pt.h.

References octave::tree::m_line_num.

◆ link_to_global()

void octave::tree_identifier::link_to_global ( const symbol_scope global_scope,
const symbol_record global_sym 
)

◆ lvalue()

◆ lvalue_ok()

bool octave::tree_identifier::lvalue_ok ( void  ) const
inlinevirtual

◆ mark_as_for_cmd_expr()

void octave::tree_expression::mark_as_for_cmd_expr ( void  )
inlineinherited

Definition at line 108 of file pt-exp.h.

References octave::tree_expression::for_cmd_expr.

◆ mark_as_formal_parameter()

void octave::tree_identifier::mark_as_formal_parameter ( void  )
inline

◆ mark_braindead_shortcircuit()

virtual void octave::tree_expression::mark_braindead_shortcircuit ( void  )
inlinevirtualinherited

◆ mark_in_parens()

tree_expression* octave::tree_expression::mark_in_parens ( void  )
inlineinherited

Definition at line 112 of file pt-exp.h.

References octave::tree_expression::num_parens.

◆ mark_persistent()

void octave::tree_identifier::mark_persistent ( void  )
inline

Definition at line 111 of file pt-id.h.

References octave::symbol_record::init_persistent(), and m_sym.

◆ meets_bp_condition()

◆ name()

◆ oper()

virtual std::string octave::tree_expression::oper ( void  ) const
inlinevirtualinherited

◆ operator=()

tree_identifier& octave::tree_identifier::operator= ( const tree_identifier )
delete

◆ original_text()

std::string octave::tree_expression::original_text ( void  ) const
virtualinherited

Reimplemented in octave::tree_constant.

Definition at line 47 of file pt-exp.cc.

Referenced by octave::tree_funcall::print_raw().

◆ paren_count()

int octave::tree_expression::paren_count ( void  ) const
inlineinherited

◆ postfix_index()

char octave::tree_expression::postfix_index ( void  ) const
inlineinherited

◆ print_result()

◆ rvalue_ok()

◆ set_breakpoint()

virtual void octave::tree::set_breakpoint ( const std::string condition)
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().

◆ set_location()

void octave::tree::set_location ( int  l,
int  c 
)
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().

◆ set_postfix_index()

tree_expression* octave::tree_expression::set_postfix_index ( char  type)
inlineinherited

Definition at line 118 of file pt-exp.h.

References octave::tree_expression::postfix_index_type, and type.

◆ set_print_flag()

tree_expression* octave::tree_expression::set_print_flag ( bool  print)
inlineinherited

Definition at line 124 of file pt-exp.h.

References octave::tree_expression::print_flag.

Referenced by octave::tree_statement::set_print_flag().

◆ static_workspace_error()

void octave::tree_identifier::static_workspace_error ( void  )
inline

Definition at line 124 of file pt-id.h.

References error(), and name().

Referenced by lvalue(), and octave::tree_evaluator::visit_identifier().

◆ str_print_code()

std::string octave::tree::str_print_code ( void  )
inherited

Definition at line 42 of file pt.cc.

References octave::tree::accept(), retval, and string.

Referenced by octave::jit_info::compile().

◆ symbol()

symbol_record octave::tree_identifier::symbol ( void  ) const
inline

Definition at line 137 of file pt-id.h.

References m_sym.

Referenced by octave::tree_evaluator::visit_identifier().

Friends And Related Function Documentation

◆ tree_index_expression

friend class tree_index_expression
friend

Definition at line 49 of file pt-id.h.

Member Data Documentation

◆ for_cmd_expr

bool octave::tree_expression::for_cmd_expr
protectedinherited

◆ m_sym

symbol_record octave::tree_identifier::m_sym
private

◆ num_parens

int octave::tree_expression::num_parens
protectedinherited

◆ postfix_index_type

char octave::tree_expression::postfix_index_type
protectedinherited

◆ print_flag

bool octave::tree_expression::print_flag
protectedinherited

The documentation for this class was generated from the following files: