#include <algorithm>
#include "call-stack.h"
#include "defun.h"
#include "interpreter-private.h"
#include "interpreter.h"
#include "load-path.h"
#include "ov-builtin.h"
#include "ov-classdef.h"
#include "ov-fcn-handle.h"
#include "ov-typeinfo.h"
#include "ov-usr-fcn.h"
#include "pt-assign.h"
#include "pt-classdef.h"
#include "pt-eval.h"
#include "pt-funcall.h"
#include "pt-idx.h"
#include "pt-misc.h"
#include "pt-stmt.h"
#include "pt-walk.h"
#include "symtab.h"
Go to the source code of this file.
Classes | |
class | ctor_analyzer |
class | octave_classdef_meta |
class | octave_classdef_superclass_ref |
Macros | |
#define | DEBUG_TRACE 0 |
#define | META_CLASS_CMP(OP, CLSA, CLSB, FUN) |
#define DEBUG_TRACE 0 |
Definition at line 50 of file ov-classdef.cc.
#define META_CLASS_CMP | ( | OP, | |
CLSA, | |||
CLSB, | |||
FUN | |||
) |
Definition at line 584 of file ov-classdef.cc.
|
static |
Definition at line 2609 of file ov-classdef.cc.
|
static |
Definition at line 300 of file ov-classdef.cc.
References octave_value::cell_value(), error(), cdef_class::find_method(), cdef_class::find_property(), cdef_object::get(), get_class_context(), cdef_class::get_name(), i, is_strict_superclass(), octave_value::is_string(), is_superclass(), octave_value::iscell(), octave_value::numel(), cdef_object::ok(), p, panic_impossible, string, octave_value::string_value(), and to_cdef().
|
static |
Definition at line 610 of file ov-classdef.cc.
|
static |
Definition at line 536 of file ov-classdef.cc.
References error(), cdef_method::execute(), cdef_class::find_method(), cdef_method::is_static(), octave_value_list::length(), nargout(), cdef_object::ok(), octave_value_list::splice(), string, and to_cdef().
|
static |
Definition at line 521 of file ov-classdef.cc.
References error(), octave_value_list::length(), lookup_class(), name, retval, string, and to_ov().
|
static |
Definition at line 609 of file ov-classdef.cc.
|
static |
Definition at line 503 of file ov-classdef.cc.
References octave_value::cell_value(), cdef_object::get(), octave_value_list::length(), lookup_classes(), retval, to_cdef(), and to_ov().
|
static |
Definition at line 470 of file ov-classdef.cc.
References cdef_class::get_methods(), octave_value_list::length(), retval, and to_cdef().
|
static |
Definition at line 242 of file ov-classdef.cc.
References cdef_class::get_properties(), octave_value_list::length(), retval, and to_cdef().
|
static |
Definition at line 485 of file ov-classdef.cc.
References octave_value::cell_value(), cdef_object::get(), octave_value_list::length(), lookup_classes(), retval, to_cdef(), and to_ov().
|
static |
Definition at line 557 of file ov-classdef.cc.
References error(), cdef_class::find_property(), cdef_property::get_value(), cdef_property::is_constant(), octave_value_list::length(), cdef_object::ok(), retval, string, and to_cdef().
|
static |
Definition at line 608 of file ov-classdef.cc.
|
static |
Definition at line 607 of file ov-classdef.cc.
|
static |
Definition at line 606 of file ov-classdef.cc.
|
static |
Definition at line 611 of file ov-classdef.cc.
|
static |
Definition at line 2582 of file ov-classdef.cc.
|
static |
Definition at line 54 of file ov-classdef.cc.
References error(), cdef_object::get(), cdef_method::get_name(), octave_value::is_string(), string, and octave_value::string_value().
|
static |
Definition at line 70 of file ov-classdef.cc.
References error(), cdef_object::get(), cdef_property::get_name(), octave_value::is_string(), string, and octave_value::string_value().
OCTAVE_EXPORT octave_value_list F__meta_class_query__ | ( | const octave_value_list & | args, |
int | |||
) |
Definition at line 3908 of file ov-classdef.cc.
OCTAVE_EXPORT octave_value_list F__meta_get_package__ | ( | const octave_value_list & | args, |
int | |||
) |
Definition at line 3885 of file ov-classdef.cc.
OCTAVE_EXPORT octave_value_list F__superclass_reference__ | ( | const octave_value_list & | args, |
int | |||
) |
Definition at line 3899 of file ov-classdef.cc.
OCTAVE_EXPORT octave_value_list Fmetaclass | ( | const octave_value_list & | args, |
int | |||
) |
Definition at line 3928 of file ov-classdef.cc.
|
static |
Definition at line 90 of file ov-classdef.cc.
References nm.
Referenced by make_function_of_class().
|
static |
Definition at line 257 of file ov-classdef.cc.
References octave::__get_call_stack__(), cs, octave::call_stack::current(), octave_function::dispatch_class(), fcn, octave_function::is_anonymous_function_of_class(), octave_function::is_class_method(), octave_function::is_classdef_constructor(), octave_function::is_private_function(), lookup_class(), octave_function::name(), and name.
Referenced by check_access(), get_class_context(), and in_class_method().
|
inline |
Definition at line 283 of file ov-classdef.cc.
References get_class_context(), and string.
|
static |
Definition at line 634 of file ov-classdef.cc.
References retval.
|
static |
Definition at line 292 of file ov-classdef.cc.
References get_class_context(), is_superclass(), and cdef_object::ok().
Referenced by octave_classdef::numel(), octave_classdef::subsasgn(), and octave_classdef::subsref().
|
inline |
Definition at line 238 of file ov-classdef.cc.
References is_superclass().
|
static |
Definition at line 397 of file ov-classdef.cc.
References octave_user_function::body(), fcn, octave_function::is_defined(), octave_base_value::is_user_function(), retval, and octave_base_value::user_function_value().
Referenced by cdef_manager::make_method().
|
static |
Definition at line 418 of file ov-classdef.cc.
References octave::__get_call_stack__(), octave::__get_evaluator__(), cs, octave::call_stack::current(), octave::tree_evaluator::evaluate(), octave::base_list< elt_type >::front(), octave_value::function_value(), cdef_object::is(), octave_user_function::is_classdef_constructor(), octave_value::is_defined(), octave_user_function::parameter_list(), octave_user_function::return_list(), octave::base_list< elt_type >::size(), to_cdef(), octave_value::type_name(), and octave_base_value::user_function_value().
|
inline |
Definition at line 234 of file ov-classdef.cc.
References is_superclass().
Referenced by check_access().
|
static |
Definition at line 210 of file ov-classdef.cc.
References c, octave_value::cell_value(), cdef_object::get(), i, lookup_class(), and retval.
Referenced by check_access(), in_class_method(), is_direct_superclass(), and is_strict_superclass().
|
static |
Definition at line 150 of file ov-classdef.cc.
References octave::__get_cdef_manager__(), cdef_manager::find_class(), and name.
Referenced by class_fromName(), get_class_context(), is_superclass(), lookup_class(), and lookup_classes().
|
static |
Definition at line 159 of file ov-classdef.cc.
|
static |
Definition at line 168 of file ov-classdef.cc.
References octave_value::is_string(), lookup_class(), octave_value::string_value(), and to_cdef().
|
static |
Definition at line 183 of file ov-classdef.cc.
References c, i, lookup_class(), Array< T >::numel(), and retval.
Referenced by class_get_inferiorclasses(), and class_get_superclasses().
|
static |
Definition at line 3197 of file ov-classdef.cc.
|
static |
Definition at line 129 of file ov-classdef.cc.
Referenced by read_mat5_binary_element(), and octave::tree_evaluator::visit_fcn_handle().
|
static |
Definition at line 139 of file ov-classdef.cc.
References fcn, octave_function::is_defined(), nm, and retval.
|
static |
Definition at line 101 of file ov-classdef.cc.
References fcn, octave_base_value::function_value(), get_base_name(), octave_user_function::mark_as_class_constructor(), octave_user_function::mark_as_class_method(), octave_user_function::mark_as_classdef_constructor(), octave_function::name(), and of.
Referenced by make_function_of_class(), cdef_manager::make_method(), and cdef_manager::make_property().
|
static |
Definition at line 123 of file ov-classdef.cc.
References fcn, cdef_class::get_name(), and make_function_of_class().
Definition at line 3322 of file ov-classdef.cc.
|
static |
Definition at line 3206 of file ov-classdef.cc.
|
static |
Definition at line 3221 of file ov-classdef.cc.
|
static |
Definition at line 3237 of file ov-classdef.cc.
|
static |
Definition at line 3253 of file ov-classdef.cc.
|
static |
Definition at line 3269 of file ov-classdef.cc.
octave_value_list property_get_defaultvalue | ( | const octave_value_list & | args, |
int | |||
) |
Definition at line 614 of file ov-classdef.cc.
References error_with_id(), cdef_object::get(), cdef_property::get_name(), retval, and to_cdef().
|
static |
Definition at line 198 of file ov-classdef.cc.
References i, and octave_value().
Referenced by class_fromName(), class_get_inferiorclasses(), class_get_superclasses(), cdef_manager::make_method(), cdef_manager::make_package(), and cdef_manager::make_property().