Mercurial > octave-nkf
view libgui/src/resource.qrc @ 15896:57be060d7672 classdef
Implement full object construction and superclass references.
* libinterp/octave-value/ov-classdef.h (cdef_object_rep::subsref): Add class
context argument.
(cdef_object_rep::ctor_list): New class member.
(cdef_object_rep::mark_for_construction, cdef_object_rep::is_constructed_for,
cdef_object_rep::is_partially_constructed_for,
cdef_object_rep::mark_as_constructed, cdef_object_rep::is_constructed,
cdef_object::mark_for_construction, cdef_object::is_constructed_for,
cdef_object::is_partially_constructed_for, cdef_object::mark_as_constructed,
cdef_object:is_constructed): New methods to manipulate the new ctor_list
class member.
(cdef_object_rep::cdef_object_rep (const cdef_object_rep&)): New copy
constructor.
(cdef_class::cdef_class_rep (std::string, std::list<cdef_class>)): New
utility constructor.
(cdef_class (std::string, std::list<cdef_class>)): Likewise.
(cdef_class::cdef_class_rep::implicit_ctor_list): New class member.
(cdef_method::cdef_method_rep::is_constructor, cdef_method::is_construcror):
New methods.
(cdef_method::get_function): Likewise.
(cdef_package::cdef_package_rep::subsref): Remove method.
(octave_classdef::get_object_ref): New method.
(to_cdef_ref): New function.
* libinterp/octave-value/ov-classdef.cc (is_superclass): Add max_depth argument.
(is_direct_superclass): New utility function.
(get_class_context): Add bool and std::string return values, as new reference
arguments. Add overload without any arguments.
(check_access): Check for valid class context when required.
(make_class): Remove super_name_list argument. Do not set SuperClasses
explicitly, use new cdef_class constructor instead.
(octave_classdef::subsref): Change skip variable to size_t (avoids compilation
warning). Call cdef_object::subsref with additional class context argument.
(class octave_classdef_superclass_ref): New utility class.
(F__superclass_reference__): Use it.
(cdef_object_rep::subsref): Add class context argument.
(cdef_object_rep::mark_for_construction): New method.
(handle_cdef_object::~handle_cdef_object, value_cdef_object::~value_cdef_object,
cdef_class::cdef_class_rep::subsref_meta, cdef_class::make_meta_class): Use gnulib::printf explicitly.
(cdef_class::cdef_class_rep (std::string, std::list<cdef_class>)): New
constructor.
(class ctor_analyzer): New utility class.
(cdef_class::cdef_class_rep::install_method): Use it to analyze constructors
and detect explicit superclass constructor calls.
(cdef_class::cdef_class_rep::initialize_object): Call
cdef_object::mark_for_construction.
(cdef_class::cdef_class_rep::run_constructor): Run all implicit superclass
constructors first.
(cdef_class::cdef_class_rep::construct): Call cdef_object::mark_as_constructed.
(cdef_class::make_meta_class): Remove snamelist variable.
(cdef_property::cdef_property_rep::get_value,
cdef_property::cdef_property_rep::set_value): Check if object is partially
constructed for the property-defining class.
(cdef_method::cdef_method_rep::is_constructor): New method.
(cdef_package::cdef_package_rep::subsref): Delete method.
author | Michael Goffioul <michael.goffioul@gmail.com> |
---|---|
date | Thu, 03 Jan 2013 21:01:11 -0500 |
parents | b081fbe80174 |
children | aaf024ac8015 |
line wrap: on
line source
<RCC> <qresource prefix="/actions"> <file>icons/artsbuilderexecute.png</file> <file>icons/editcopy.png</file> <file>icons/editcut.png</file> <file>icons/editpaste.png</file> <file>icons/filenew.png</file> <file>icons/fileopen.png</file> <file>icons/filesave.png</file> <file>icons/redo.png</file> <file>icons/search.png</file> <file>icons/undo.png</file> <file>icons/up.png</file> <file>icons/configure.png</file> <file>icons/filesaveas.png</file> <file>icons/redled.png</file> <file>icons/arrow_right.png</file> <file>icons/bookmark.png</file> <file>icons/question.png</file> <file>icons/star.png</file> <file>icons/stop.png</file> <file>icons/zoom-in.png</file> <file>icons/zoom-out.png</file> <file>icons/find.png</file> <file>icons/chat.png</file> <file>icons/help_index.png</file> <file>icons/jabber_protocol.png</file> <file>icons/logo.png</file> <file>icons/terminal.png</file> <file>icons/bp_toggle.png</file> <file>icons/bp_rm_all.png</file> <file>icons/bp_prev.png</file> <file>icons/bp_next.png</file> <file>icons/db_cont.png</file> <file>icons/db_step.png</file> <file>icons/db_step_in.png</file> <file>icons/db_step_out.png</file> <file>icons/db_stop.png</file> <file>icons/letter_logo_FilesDockWidget.png</file> <file>icons/letter_logo_FileEditor.png</file> <file>icons/letter_logo_TerminalDockWidget.png</file> <file>icons/letter_logo_HistoryDockWidget.png</file> <file>icons/letter_logo_WorkspaceView.png</file> <file>icons/letter_logo_DocumentationDockWidget.png</file> <file>icons/graphic_logo_FilesDockWidget.png</file> <file>icons/graphic_logo_FileEditor.png</file> <file>icons/graphic_logo_TerminalDockWidget.png</file> <file>icons/graphic_logo_HistoryDockWidget.png</file> <file>icons/graphic_logo_WorkspaceView.png</file> <file>icons/graphic_logo_DocumentationDockWidget.png</file> </qresource> </RCC>