26#if ! defined (octave_ov_fcn_h)
27#define octave_ov_fcn_h 1
29#include "octave-config.h"
57 : m_relative (false), m_locked (false), m_private (false),
58 m_dispatch_class (), m_package_name (), m_name (), m_dir_name (),
91 {
return std::list<std::string> (); }
113 return (is_classdef_constructor (cname) || is_legacy_constructor (cname));
118 return (is_classdef_method (cname) || is_legacy_method (cname));
159 m_dispatch_class = cname;
165 {
return m_private && m_dispatch_class == nm; }
171 std::string
dir_name (
void)
const {
return m_dir_name; }
177 this->lock_subfunctions ();
183 this->unlock_subfunctions ();
201 {
return std::list<std::string> (); }
207 std::string
name (
void)
const {
return m_name; }
211 if (m_package_name.empty ())
214 return m_package_name +
'.' + m_name;
217 void document (
const std::string& ds) { m_doc = ds; }
227 {
return (type ==
'('); }
231 call (octave::tree_evaluator& tw,
int nargout = 0,
237 execute (octave::tree_evaluator& tw,
int nargout = 0,
243 const std::string& ds =
"")
244 : m_relative (false), m_locked (false), m_private (false),
245 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 void lock_subfunctions(void)
virtual bool has_subfunctions(void) const
virtual std::list< std::string > subfunction_names(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 bool accepts_postfix_index(char type) const
virtual std::list< std::string > parent_fcn_names(void) 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 > &)
F77_RET_T const F77_DBLE const F77_DBLE * f