Mercurial > octave
diff libinterp/corefcn/interpreter.cc @ 23651:5c6cceef132b
don't use singleton for cdef_manager object
* ov-classdef.h, ov-classdef.cc (cdef_manager): Don't use singleton
pattern. Change all uses.
(cdef_manager::m_meta_class, cdef_manager::m_meta_property,
cdef_manager::m_meta_method, cdef_manager::m_meta_package,
cdef_manager::m_meta): New data members.
(cdef_manager::meta_class, cdef_manager::meta_property,
cdef_manager::meta_method, cdef_manager::meta_package,
cdef_manager::meta): New functions.
(cdef_class::meta_class, cdef_class::meta_property,
cdef_class::meta_method, cdef_class::meta_package):
Delete static functions.
(cdef_package::meta): Delete static function.
(cdef_class::_meta_class, cdef_class::_meta_property,
cdef_class::_meta_method, cdef_class::_meta_package,
cdef_package::_meta): Delete static data members.
(cdef_manager::initialize): New function, adapted from install_classdef.
* interpreter.h, interpreter.cc (interpreter::m_cdef_manager):
New data member.
(interpreter::get_cdef_manager): New function.
(interpreter::interpreter): Initialize m_cdef_manager object instead
of calling install_classdef.
* interpreter-private.h, interpreter-private.cc
(__get_cdef_manager__): New function.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 19 Jun 2017 13:02:32 -0400 |
parents | 8a47d4735655 |
children | 4a62da62af09 |
line wrap: on
line diff
--- a/libinterp/corefcn/interpreter.cc Tue Jun 20 08:13:21 2017 -0700 +++ b/libinterp/corefcn/interpreter.cc Mon Jun 19 13:02:32 2017 -0400 @@ -377,6 +377,7 @@ m_load_path (), m_symbol_table (), m_evaluator (*this), + m_cdef_manager (*this), m_interactive (false), m_read_site_files (true), m_read_init_files (m_app_context != 0), @@ -439,7 +440,7 @@ install_builtins (); - install_classdef (*this); + m_cdef_manager.initialize (); bool line_editing = false; bool traditional = false;