#include "ov-classdef.h"
Classes | |
class | cdef_class_rep |
Public Types | |
enum | { property_normal, property_inherited, property_all } |
Static Public Member Functions | |
static cdef_class | make_meta_class (octave::interpreter &interp, octave::tree_classdef *t, bool is_at_folder=false) |
Analyze the tree_classdef tree and transform it to a cdef_class. More... | |
Protected Member Functions | |
void | make_unique (int ignore_copies) |
Private Member Functions | |
cdef_class_rep * | get_rep (void) |
const cdef_class_rep * | get_rep (void) const |
Friends | |
void | install_classdef (octave::interpreter &interp) |
bool | operator!= (const cdef_class &, const cdef_class &) |
bool | operator< (const cdef_class &, const cdef_class &) |
bool | operator== (const cdef_class &, const cdef_class &) |
Definition at line 663 of file ov-classdef.h.
anonymous enum |
Enumerator | |
---|---|
property_normal | |
property_inherited | |
property_all |
Definition at line 944 of file ov-classdef.h.
|
inline |
Definition at line 822 of file ov-classdef.h.
Referenced by cdef_object_base::get_class().
|
inline |
Definition at line 825 of file ov-classdef.h.
References cdef_object::get_rep(), and nm.
|
inline |
Definition at line 829 of file ov-classdef.h.
|
inline |
Definition at line 832 of file ov-classdef.h.
References cdef_object::class_name(), and error().
|
inlineinherited |
Definition at line 264 of file ov-classdef.h.
References cdef_object_rep::array_value(), and cdef_object::rep.
|
inlineinherited |
Definition at line 239 of file ov-classdef.h.
References cdef_object_rep::class_name(), and cdef_object::rep.
Referenced by cdef_class(), cdef_method::cdef_method(), cdef_package::cdef_package(), and cdef_property::cdef_property().
|
inlineinherited |
Definition at line 242 of file ov-classdef.h.
References cdef_object::cdef_object(), cdef_object_rep::clone(), and cdef_object::rep.
Referenced by octave_classdef::clone(), value_cdef_object::copy(), and cdef_object::make_unique().
|
inline |
Definition at line 917 of file ov-classdef.h.
References cdef_object::get_rep().
|
inline |
Definition at line 920 of file ov-classdef.h.
References cdef_object::get_rep().
|
inlineinherited |
Definition at line 253 of file ov-classdef.h.
References cdef_object::cdef_object(), cdef_object_rep::copy(), and cdef_object::rep.
|
inline |
Definition at line 885 of file ov-classdef.h.
References cdef_object::get_rep().
|
inlineinherited |
Definition at line 248 of file ov-classdef.h.
References cdef_object_rep::dims(), and cdef_object::rep.
|
inlineinherited |
Definition at line 245 of file ov-classdef.h.
References cdef_object::cdef_object(), cdef_object_rep::empty_clone(), and cdef_object::rep.
Referenced by octave_classdef::empty_clone().
|
inline |
Definition at line 1296 of file ov-classdef.h.
References cdef_class::cdef_class_rep::find_method(), get_rep(), and nm.
Referenced by check_access(), class_fevalStatic(), octave_classdef::numel(), octave_classdef::subsasgn(), and octave_classdef::subsref().
|
inline |
Definition at line 1300 of file ov-classdef.h.
References cdef_class::cdef_class_rep::find_property(), get_rep(), and nm.
Referenced by check_access(), and class_getConstant().
|
inlineinherited |
Definition at line 269 of file ov-classdef.h.
References cdef_object_rep::get(), pname, and cdef_object::rep.
Referenced by check_access(), class_get_inferiorclasses(), class_get_superclasses(), err_method_access(), err_property_access(), is_superclass(), and property_get_defaultvalue().
|
inlineinherited |
Definition at line 1241 of file ov-classdef.h.
References cdef_object_rep::get_class(), and cdef_object::rep.
Referenced by octave_classdef::numel(), octave_classdef::subsasgn(), and octave_classdef::subsref().
|
inline |
Definition at line 914 of file ov-classdef.h.
Referenced by octave::tree_classdef::make_meta_class().
|
inline |
Definition at line 876 of file ov-classdef.h.
References cdef_object::get_rep().
octave_function * cdef_class::get_method_function | ( | const std::string & | nm | ) |
Definition at line 2918 of file ov-classdef.cc.
|
inline |
Definition at line 853 of file ov-classdef.h.
References cdef_object::get_rep().
Referenced by class_get_methods().
|
inline |
Definition at line 879 of file ov-classdef.h.
References cdef_object::get_rep().
Referenced by check_access(), cdef_object_rep::class_name(), make_function_of_class(), cdef_manager::make_method(), cdef_manager::make_property(), octave_classdef::numel(), cdef_manager::register_class(), and cdef_manager::unregister_class().
|
inline |
Definition at line 867 of file ov-classdef.h.
References cdef_object::get_rep().
|
inline |
Definition at line 860 of file ov-classdef.h.
References cdef_object::get_rep(), and mode.
Referenced by class_get_properties().
|
inlineinherited |
Definition at line 277 of file ov-classdef.h.
References cdef_object_rep::get_property(), pname, and cdef_object::rep.
|
inline |
Definition at line 864 of file ov-classdef.h.
References cdef_object::get_rep(), and mode.
|
inlineprivate |
Definition at line 952 of file ov-classdef.h.
References cdef_object::get_rep().
Referenced by cdef_method::cdef_method(), cdef_package::cdef_package(), cdef_property::cdef_property(), cdef_method::check_access(), cdef_property::check_get_access(), cdef_property::check_set_access(), cdef_method::execute(), cdef_package::find(), find_method(), find_property(), cdef_package::get_classes(), cdef_method::get_function(), cdef_package::get_functions(), cdef_property::get_name(), cdef_method::get_name(), cdef_package::get_name(), cdef_package::get_packages(), cdef_property::get_value(), cdef_package::install_class(), cdef_package::install_function(), cdef_package::install_package(), cdef_property::is_constant(), cdef_method::is_constructor(), cdef_method::is_external(), cdef_method::is_static(), cdef_method::mark_as_external(), operator<(), operator==(), cdef_method::set_function(), and cdef_property::set_value().
|
inlineprivate |
Definition at line 955 of file ov-classdef.h.
References cdef_object::get_rep().
|
inline |
Definition at line 923 of file ov-classdef.h.
References cdef_object::get_rep().
|
inline |
Definition at line 850 of file ov-classdef.h.
References cdef_object::get_rep().
|
inline |
Definition at line 857 of file ov-classdef.h.
References cdef_object::get_rep().
|
inlineinherited |
Definition at line 318 of file ov-classdef.h.
References cdef_object::rep.
Referenced by is_method_executing().
|
inline |
Definition at line 869 of file ov-classdef.h.
References cdef_object::get_rep().
|
inlineinherited |
Definition at line 256 of file ov-classdef.h.
References cdef_object_rep::is_array(), and cdef_object::rep.
|
inline |
Definition at line 882 of file ov-classdef.h.
|
inlineinherited |
Definition at line 637 of file ov-classdef.h.
References cdef_object::get_rep().
|
inlineinherited |
Definition at line 305 of file ov-classdef.h.
References cdef_object_rep::is_constructed(), and cdef_object::rep.
|
inlineinherited |
Definition at line 307 of file ov-classdef.h.
References cdef_object_rep::is_constructed_for(), and cdef_object::rep.
|
inline |
Definition at line 932 of file ov-classdef.h.
References cdef_object::get_rep().
|
inlineinherited |
Definition at line 260 of file ov-classdef.h.
References cdef_object_rep::is_handle_object(), and cdef_object::rep.
|
inline |
Definition at line 937 of file ov-classdef.h.
References cdef_object::get_rep().
|
inlineinherited |
Definition at line 262 of file ov-classdef.h.
References cdef_object_rep::is_meta_object(), and cdef_object::rep.
|
inlineinherited |
Definition at line 641 of file ov-classdef.h.
References cdef_object::get_rep().
Referenced by cdef_method::cdef_method().
|
inlineinherited |
Definition at line 643 of file ov-classdef.h.
References cdef_object::get_rep().
Referenced by cdef_package::cdef_package().
|
inlineinherited |
Definition at line 310 of file ov-classdef.h.
References cdef_object_rep::is_partially_constructed_for(), and cdef_object::rep.
|
inlineinherited |
Definition at line 639 of file ov-classdef.h.
References cdef_object::get_rep().
Referenced by cdef_property::cdef_property().
|
inline |
Definition at line 871 of file ov-classdef.h.
References cdef_object::get_rep().
|
inlineinherited |
Definition at line 258 of file ov-classdef.h.
References cdef_object_rep::is_value_object(), and cdef_object::rep.
|
inlineinherited |
Definition at line 250 of file ov-classdef.h.
References cdef_object::cdef_object(), cdef_object_rep::make_array(), and cdef_object::rep.
|
static |
Analyze the tree_classdef tree and transform it to a cdef_class.
All attribute validation should occur here.
Classdef attribute values can be given in the form of expressions. These expressions must be evaluated before assigning them as attribute values. Evaluating them as they are parsed causes trouble with possible recusion in the parser so we do it here. For example
will fail because each attempt to compute the metaclass of recursion_class will cause recursion_class to be parsed again.
Definition at line 2620 of file ov-classdef.cc.
Referenced by octave::tree_classdef::make_meta_class().
|
inlineprotectedinherited |
Definition at line 323 of file ov-classdef.h.
References cdef_object::clone(), cdef_object_rep::refcount, and cdef_object::rep.
Referenced by cdef_object::subsasgn().
|
inlineinherited |
Definition at line 294 of file ov-classdef.h.
References cdef_object_rep::map_keys(), and cdef_object::rep.
|
inherited |
Definition at line 1284 of file ov-classdef.cc.
|
inlineinherited |
Definition at line 313 of file ov-classdef.h.
References cdef_object_rep::mark_as_constructed(), and cdef_object::rep.
|
inlineinherited |
Definition at line 315 of file ov-classdef.h.
References cdef_object_rep::mark_as_constructed(), and cdef_object::rep.
|
inline |
Definition at line 929 of file ov-classdef.h.
References cdef_object::get_rep().
Referenced by cdef_manager::make_class().
|
inline |
Definition at line 935 of file ov-classdef.h.
References cdef_object::get_rep().
Referenced by cdef_manager::make_meta_class().
|
inlineinherited |
Definition at line 302 of file ov-classdef.h.
References cdef_object_rep::mark_for_construction(), and cdef_object::rep.
|
inlineinherited |
Definition at line 652 of file ov-classdef.h.
References cdef_object::get_rep(), and type.
|
inlineinherited |
Definition at line 650 of file ov-classdef.h.
References cdef_object::get_rep().
|
inlineinherited |
Definition at line 646 of file ov-classdef.h.
References cdef_object::get_rep(), nargout(), and type.
|
inlineinherited |
Definition at line 300 of file ov-classdef.h.
References cdef_object_rep::is_valid(), and cdef_object::rep.
Referenced by check_access(), class_fevalStatic(), class_getConstant(), in_class_method(), octave::tree_classdef::make_meta_class(), octave_classdef::numel(), read_mat5_binary_element(), cdef_object_base::register_object(), cdef_object_base::set_class(), octave_classdef::subsasgn(), octave_classdef::subsref(), to_ov(), and cdef_object_base::unregister_object().
|
inline |
Definition at line 841 of file ov-classdef.h.
References cdef_object::operator=().
|
inlineinherited |
Definition at line 266 of file ov-classdef.h.
References pname, cdef_object_rep::put(), cdef_object::rep, and val.
Referenced by cdef_manager::make_class(), cdef_manager::make_meta_class(), cdef_manager::make_method(), cdef_manager::make_package(), cdef_manager::make_property(), cdef_class::cdef_class_rep::set_name(), cdef_property::cdef_property_rep::set_name(), cdef_method::cdef_method_rep::set_name(), cdef_package::cdef_package_rep::set_name(), and cdef_object_scalar::set_property().
|
inline |
Definition at line 939 of file ov-classdef.h.
References cdef_object::get_rep().
Referenced by cdef_object_base::register_object().
|
inline |
Definition at line 926 of file ov-classdef.h.
References cdef_object::get_rep().
|
inlineinherited |
Definition at line 237 of file ov-classdef.h.
References cdef_object::rep, and cdef_object_rep::set_class().
Referenced by cdef_manager::make_class(), cdef_manager::make_method(), cdef_manager::make_package(), and cdef_manager::make_property().
|
inline |
Definition at line 873 of file ov-classdef.h.
References cdef_object::get_rep().
|
inlineinherited |
Definition at line 272 of file ov-classdef.h.
References pname, cdef_object::rep, and cdef_object_rep::set_property().
|
inlineinherited |
Definition at line 287 of file ov-classdef.h.
References cdef_object::make_unique(), cdef_object::rep, cdef_object_rep::subsasgn(), and type.
|
inlineinherited |
Definition at line 281 of file ov-classdef.h.
References octave::context, nargout(), cdef_object::rep, cdef_object_rep::subsref(), and type.
|
inline |
Definition at line 941 of file ov-classdef.h.
References cdef_object::get_rep().
Referenced by cdef_object_base::unregister_object().
|
friend |
|
friend |
Definition at line 971 of file ov-classdef.h.
|
friend |
Definition at line 976 of file ov-classdef.h.
|
friend |
Definition at line 966 of file ov-classdef.h.