Mercurial > octave
diff libinterp/octave-value/ov-classdef.cc @ 30259:03ff3f1020cf
store file name in classdef class object
* ov-classdef.h, ov-classdef.cc (octave_classdef_meta::file_name):
New function.
* pt-classdef.h, pt-classdef.cc (tree_classdef::m_file_name):
New data member.
(tree_classdef::tree_classdef): Also accept file name in constructor
argument list.
(tree_classdef::file_name): New function.
* oct-parse.yy (base_parser::make_classdef): Store full file name in
created tree_classdef object.
* cdef-class.h, cdef-class.cc (cdef_class_rep::file_name,
cdef_class::file_name): New functions.
(cdef_class:make_meta_class): Store file name in returned class object.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sat, 30 Oct 2021 09:45:23 -0400 |
parents | c789e728d57a |
children | 91c6288781ba 796f54d4ddbf |
line wrap: on
line diff
--- a/libinterp/octave-value/ov-classdef.cc Sat Oct 30 13:03:02 2021 +0200 +++ b/libinterp/octave-value/ov-classdef.cc Sat Oct 30 09:45:23 2021 -0400 @@ -458,6 +458,18 @@ return ""; } +std::string octave_classdef_meta::file_name (void) const +{ + if (m_object.is_class ()) + { + octave::cdef_class cls (m_object); + + return cls.file_name (); + } + + return ""; +} + octave_value_list octave_classdef_superclass_ref::execute (octave::tree_evaluator& tw, int nargout,