#include "oct-lvalue.h"
Public Member Functions | |
octave_lvalue (const octave_lvalue &)=default | |
octave_lvalue (const symbol_record &sr, const std::shared_ptr< stack_frame > &frame) | |
~octave_lvalue (void)=default | |
void | assign (octave_value::assign_op, const octave_value &) |
void | clear_index (void) |
void | define (const octave_value &v) |
bool | index_is_colon (void) const |
bool | index_is_empty (void) const |
std::string | index_type (void) const |
bool | is_black_hole (void) const |
bool | is_defined (void) const |
bool | is_undefined (void) const |
bool | isstruct (void) const |
void | mark_black_hole (void) |
octave_idx_type | numel (void) const |
octave_lvalue & | operator= (const octave_lvalue &)=delete |
void | set_index (const std::string &t, const std::list< octave_value_list > &i) |
void | unary_op (octave_value::unary_op op) |
octave_value | value (void) const |
Private Member Functions | |
octave_value | eval_for_numel (const std::string &type, const std::list< octave_value_list > &idx) const |
Private Attributes | |
bool | m_black_hole |
std::shared_ptr< stack_frame > | m_frame |
std::list< octave_value_list > | m_idx |
symbol_record | m_sym |
std::string | m_type |
Definition at line 39 of file oct-lvalue.h.
|
inline |
Definition at line 43 of file oct-lvalue.h.
|
default |
|
default |
void octave_lvalue::assign | ( | octave_value::assign_op | op, |
const octave_value & | rhs | ||
) |
Definition at line 55 of file oct-lvalue.cc.
References is_black_hole(), m_frame, m_idx, m_sym, and m_type.
Referenced by tree_evaluator::eval_decl_elt(), tree_simple_assignment::evaluate(), tree_evaluator::execute_range_loop(), tree_evaluator::undefine_parameter_list(), tree_evaluator::visit_complex_for_command(), tree_evaluator::visit_decl_elt(), tree_evaluator::visit_simple_for_command(), and tree_evaluator::visit_try_catch_command().
|
inline |
Definition at line 74 of file oct-lvalue.h.
Referenced by tree_simple_assignment::evaluate().
void octave_lvalue::define | ( | const octave_value & | v | ) |
Definition at line 50 of file oct-lvalue.cc.
References m_frame, and m_sym.
Referenced by tree_evaluator::define_parameter_list_from_arg_vector().
|
private |
Definition at line 222 of file oct-lvalue.cc.
References __get_interpreter__(), octave_value::is_constant(), m_frame, m_sym, octave_value(), interpreter::recover_from_exception(), and octave_value::subsref().
Referenced by numel().
bool octave_lvalue::index_is_colon | ( | void | ) | const |
Definition at line 195 of file oct-lvalue.cc.
References octave_value_list::length(), and m_idx.
bool octave_lvalue::index_is_empty | ( | void | ) | const |
Definition at line 181 of file oct-lvalue.cc.
References octave_value_list::length(), and m_idx.
|
inline |
Definition at line 76 of file oct-lvalue.h.
|
inline |
Definition at line 55 of file oct-lvalue.h.
Referenced by assign(), unary_op(), and value().
bool octave_lvalue::is_defined | ( | void | ) | const |
Definition at line 40 of file oct-lvalue.cc.
References is_defined().
Referenced by is_defined(), and is_undefined().
bool octave_lvalue::is_undefined | ( | void | ) | const |
Definition at line 45 of file oct-lvalue.cc.
References is_defined().
Referenced by tree_evaluator::visit_decl_elt().
|
inline |
Definition at line 63 of file oct-lvalue.h.
|
inline |
Definition at line 57 of file oct-lvalue.h.
Referenced by tree_black_hole::lvalue().
octave_idx_type octave_lvalue::numel | ( | void | ) | const |
Definition at line 62 of file oct-lvalue.cc.
References err_invalid_inquiry_subscript(), eval_for_numel(), octave_value_list::has_magic_colon(), octave_value::is_matrix_type(), octave_value::is_string(), octave_value::is_undefined(), octave_value::is_zero_by_zero(), octave_value::iscell(), m_idx, m_type, panic_impossible, and octave_value::xnumel().
Referenced by tree_simple_assignment::evaluate().
|
delete |
void octave_lvalue::set_index | ( | const std::string & | t, |
const std::list< octave_value_list > & | i | ||
) |
Definition at line 171 of file oct-lvalue.cc.
References error(), m_idx, and m_type.
Referenced by tree_index_expression::lvalue().
void octave_lvalue::unary_op | ( | octave_value::unary_op | op | ) |
Definition at line 209 of file oct-lvalue.cc.
References is_black_hole(), m_frame, m_idx, m_sym, and m_type.
Referenced by tree_prefix_expression::evaluate(), and tree_postfix_expression::evaluate().
octave_value octave_lvalue::value | ( | void | ) | const |
Definition at line 215 of file oct-lvalue.cc.
References is_black_hole(), m_frame, m_idx, m_sym, and m_type.
Referenced by tree_prefix_expression::evaluate(), tree_postfix_expression::evaluate(), tree_simple_assignment::evaluate(), and tree_index_expression::lvalue().
|
private |
Definition at line 104 of file oct-lvalue.h.
|
private |
Definition at line 102 of file oct-lvalue.h.
Referenced by assign(), define(), eval_for_numel(), unary_op(), and value().
|
private |
Definition at line 108 of file oct-lvalue.h.
Referenced by assign(), index_is_colon(), index_is_empty(), numel(), set_index(), unary_op(), and value().
|
private |
Definition at line 100 of file oct-lvalue.h.
Referenced by assign(), define(), eval_for_numel(), unary_op(), and value().
|
private |
Definition at line 106 of file oct-lvalue.h.
Referenced by assign(), numel(), set_index(), unary_op(), and value().