26 #if ! defined (octave_ov_fcn_h)
27 #define octave_ov_fcn_h 1
29 #include "octave-config.h"
58 : m_relative (false), m_locked (false), m_private (false),
59 m_dispatch_class (), m_package_name (), m_name (), m_dir_name (),
89 {
return octave::symbol_scope (); }
92 {
return std::list<std::string> (); }
96 virtual octave::symbol_scope
scope (
void) {
return octave::symbol_scope (); }
99 {
return octave::sys::time (
static_cast<OCTAVE_TIME_T
> (0)); }
102 {
return octave::sys::time (
static_cast<OCTAVE_TIME_T
> (0)); }
114 return (is_classdef_constructor (cname) || is_legacy_constructor (cname));
119 return (is_classdef_method (cname) || is_legacy_method (cname));
160 m_dispatch_class = cname;
166 {
return m_private && m_dispatch_class == nm; }
172 std::string
dir_name (
void)
const {
return m_dir_name; }
178 this->lock_subfunctions ();
184 this->unlock_subfunctions ();
202 {
return std::list<std::string> (); }
208 std::string
name (
void)
const {
return m_name; }
212 if (m_package_name.empty ())
215 return m_package_name +
'.' + m_name;
218 void document (
const std::string& ds) { m_doc = ds; }
225 virtual void accept (octave::tree_walker&) { }
228 {
return (type ==
'('); }
232 call (octave::tree_evaluator& tw,
int nargout = 0,
238 execute (octave::tree_evaluator& tw,
int nargout = 0,
244 const std::string& ds =
"")
245 : m_relative (false), m_locked (false), m_private (false),
246 m_dispatch_class (), m_name (nm), m_dir_name (), m_doc (ds) { }
virtual bool handles_dispatch_class(const std::string &) const
std::string dispatch_class(void) const
virtual int call_depth(void) const
virtual bool is_anonymous_function_of_class(const std::string &="") const
virtual std::string fcn_file_name(void) const
virtual std::string profiler_name(void) const
bool is_private_function(void) const
octave_function(const std::string &nm, const std::string &ds="")
~octave_function(void)=default
virtual octave::symbol_scope scope(void)
virtual bool is_legacy_constructor(const std::string &="") const
virtual octave::sys::time time_parsed(void) const
virtual octave_value_list execute(octave::tree_evaluator &tw, int nargout=0, const octave_value_list &args=octave_value_list())=0
octave_function(const octave_function &f)=delete
bool is_relative(void) const
std::string dir_name(void) const
std::string package_name(void) const
virtual void unload(void)
bool is_class_method(const std::string &cname="") const
virtual bool is_parent_function(void) const
bool is_class_constructor(const std::string &cname="") const
virtual std::string doc_string(const std::string &="") const
bool is_function(void) const
virtual std::list< std::string > subfunction_names(void) const
virtual void lock_subfunctions(void)
virtual bool has_subfunctions(void) const
virtual std::string src_file_name(void) const
virtual void maybe_relocate_end(void)
virtual void unlock_subfunctions(void)
virtual void push_dispatch_class(const std::string &)
virtual bool is_subfunction(void) const
virtual bool is_classdef_constructor(const std::string &="") const
std::string canonical_name(void) const
virtual bool takes_varargs(void) const
virtual std::list< std::string > parent_fcn_names(void) const
virtual bool accepts_postfix_index(char type) const
bool islocked(void) const
void document(const std::string &ds)
std::string m_dispatch_class
virtual std::string parent_fcn_name(void) const
void stash_dir_name(const std::string &dir)
virtual bool is_legacy_method(const std::string &="") const
virtual bool is_classdef_method(const std::string &="") const
virtual octave::sys::time time_checked(void) const
virtual octave::symbol_scope parent_fcn_scope(void) const
virtual bool takes_var_return(void) const
std::string m_package_name
virtual void mark_fcn_file_up_to_date(const octave::sys::time &)
void stash_dispatch_class(const std::string &nm)
bool is_private_function_of_class(const std::string &nm) const
virtual void mark_as_private_function(const std::string &cname="")
std::string name(void) const
virtual bool is_nested_function(void) const
virtual bool is_system_fcn_file(void) const
void stash_package_name(const std::string &pack)
virtual void accept(octave::tree_walker &)
bool is_defined(void) const
virtual void stash_subfunction_names(const std::list< std::string > &)
tree_walker & operator=(const tree_walker &)=delete
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
F77_RET_T const F77_DBLE const F77_DBLE * f