#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) |
void | do_unary_op (octave_value::unary_op op) |
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) |
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 |
octave_idx_type | m_nel |
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::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 octave::tree_evaluator::eval_decl_elt(), octave::tree_simple_assignment::evaluate(), octave::tree_evaluator::undefine_parameter_list(), octave::tree_evaluator::visit_complex_for_command(), octave::tree_evaluator::visit_decl_elt(), octave::tree_evaluator::visit_simple_for_command(), and octave::tree_evaluator::visit_try_catch_command().
|
inline |
Definition at line 73 of file oct-lvalue.h.
Referenced by octave::tree_simple_assignment::evaluate().
void octave::octave_lvalue::define | ( | const octave_value & | v | ) |
Definition at line 50 of file oct-lvalue.cc.
References m_frame, and m_sym.
Referenced by octave::tree_evaluator::define_parameter_list_from_arg_vector().
void octave::octave_lvalue::do_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 octave::tree_prefix_expression::evaluate(), and octave::tree_postfix_expression::evaluate().
|
private |
Definition at line 222 of file oct-lvalue.cc.
References octave::__get_interpreter__(), m_frame, m_sym, octave_value(), octave::interpreter::recover_from_exception(), and retval.
Referenced by numel().
bool octave::octave_lvalue::index_is_colon | ( | void | ) | const |
Definition at line 195 of file oct-lvalue.cc.
References octave_value_list::length(), m_idx, and retval.
bool octave::octave_lvalue::index_is_empty | ( | void | ) | const |
Definition at line 181 of file oct-lvalue.cc.
References octave_value_list::length(), m_idx, and retval.
|
inline |
Definition at line 75 of file oct-lvalue.h.
References m_type.
|
inline |
Definition at line 55 of file oct-lvalue.h.
References m_black_hole.
Referenced by assign(), do_unary_op(), is_defined(), and value().
bool octave::octave_lvalue::is_defined | ( | void | ) | const |
Definition at line 40 of file oct-lvalue.cc.
References is_black_hole(), m_frame, and m_sym.
Referenced by is_undefined().
bool octave::octave_lvalue::is_undefined | ( | void | ) | const |
Definition at line 45 of file oct-lvalue.cc.
References is_defined().
Referenced by octave::tree_evaluator::visit_decl_elt().
|
inline |
Definition at line 63 of file oct-lvalue.h.
References octave_value::isstruct(), and value().
|
inline |
Definition at line 57 of file oct-lvalue.h.
References m_black_hole.
octave_idx_type octave::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 octave::tree_simple_assignment::evaluate().
|
delete |
void octave::octave_lvalue::set_index | ( | const std::string & | t, |
const std::list< octave_value_list > & | i | ||
) |
Definition at line 171 of file oct-lvalue.cc.
octave_value octave::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 octave::tree_prefix_expression::evaluate(), octave::tree_postfix_expression::evaluate(), octave::tree_simple_assignment::evaluate(), and isstruct().
|
private |
Definition at line 95 of file oct-lvalue.h.
Referenced by is_black_hole(), and mark_black_hole().
|
private |
Definition at line 93 of file oct-lvalue.h.
Referenced by assign(), define(), do_unary_op(), eval_for_numel(), is_defined(), and value().
|
private |
Definition at line 99 of file oct-lvalue.h.
Referenced by assign(), clear_index(), do_unary_op(), index_is_colon(), index_is_empty(), numel(), set_index(), and value().
|
private |
Definition at line 101 of file oct-lvalue.h.
|
private |
Definition at line 91 of file oct-lvalue.h.
Referenced by assign(), define(), do_unary_op(), eval_for_numel(), is_defined(), and value().
|
private |
Definition at line 97 of file oct-lvalue.h.
Referenced by assign(), clear_index(), do_unary_op(), index_type(), numel(), set_index(), and value().