23 #if !defined (octave_ov_usr_fcn_h)
24 #define octave_ov_usr_fcn_h 1
62 virtual std::map<std::string, octave_value> subfunctions (
void)
const;
69 const std::string& ds = std::string ())
92 const std::string& ds = std::string ());
95 const std::string& ds = std::string ());
117 mark_fcn_file_up_to_date (t);
127 const std::list<octave_value_list>& idx)
134 const std::list<octave_value_list>& idx,
188 return is_anonymous_function ()
202 void stash_fcn_file_name (
const std::string& nm);
206 location_line = line;
207 location_column = col;
215 end_location_line = line;
216 end_location_column = col;
222 void maybe_relocate_end (
void);
237 mark_fcn_file_up_to_date (t);
242 std::string profiler_name (
void)
const;
254 void mark_as_system_fcn_file (
void);
265 bool takes_varargs (
void)
const;
267 bool takes_var_return (
void)
const;
276 void lock_subfunctions (
void);
278 void unlock_subfunctions (
void);
280 std::map<std::string, octave_value> subfunctions (
void)
const;
282 bool has_subfunctions (
void)
const;
284 void stash_subfunction_names (
const std::list<std::string>&
names);
307 bool is_anonymous_function_of_class
308 (
const std::string& cname = std::string ())
const
310 return anonymous_function
312 ? (! dispatch_class ().empty ())
313 : cname == dispatch_class ())
322 return is_inline_function () || is_anonymous_function ();
335 return class_constructor == legacy
336 ? (cname.empty () ?
true : cname == dispatch_class ()) :
false;
341 return class_constructor == classdef
342 ? (cname.empty () ?
true : cname == dispatch_class ()) :
false;
350 ? (cname.empty () ?
true : cname == dispatch_class ()) :
false;
354 const std::list<octave_value_list>& idx)
361 const std::list<octave_value_list>& idx,
365 const std::list<octave_value_list>& idx,
367 const std::list<octave_lvalue>* lvalue_list);
374 const std::list<octave_lvalue>* lvalue_list);
390 bool subsasgn_optimization_ok (
void);
397 if (curr_unwind_protect_frame)
399 curr_unwind_protect_frame->protect_var (variable);
413 void print_symtab_info (std::ostream& os)
const;
505 void maybe_relocate_end_internal (
void);
507 void print_code_function_header (
void);
509 void print_code_function_trailer (
void);
511 void bind_automatic_vars (
const string_vector& arg_names,
int nargin,
513 const std::list<octave_lvalue> *lvalue_list);
515 void restore_warning_states (
void);
void stash_trailing_comment(octave_comment_list *tc)
std::list< std::string > subfunction_names(void) const
int beginning_line(void) const
void mark_as_inline_function(void)
symbol_table::scope_id local_scope
octave_user_function * user_function_value(bool=false)
std::list< std::string > subfcn_names
octave_comment_list * trail_comm
tree_parameter_list * parameter_list(void)
bool is_classdef_constructor(const std::string &cname=std::string()) const
octave_idx_type length(void) const
bool local_protect(T &variable)
bool is_user_script(void) const
bool is_inline_function(void) const
symbol_table::scope_id scope(void)
bool is_user_code(void) const
void stash_fcn_end_location(int line, int col)
bool is_special_expr(void) const
static string_vector names(const map_type &lst)
octave_comment_list * trailing_comment(void)
void mark_fcn_file_up_to_date(const octave_time &t)
bool is_user_function(void) const
octave_comment_list * lead_comm
octave_value subsref(const std::string &type, const std::list< octave_value_list > &idx)
void stash_info(jit_function_info *info)
octave_user_code * user_code_value(bool=false)
symbol_table::scope_id parent_scope
octave_comment_list * leading_comment(void)
void stash_leading_comment(octave_comment_list *lc)
octave_time time_checked(void) const
octave_function * function_value(bool=false)
symbol_table::context_id active_context() const
symbol_table::scope_id parent_fcn_scope(void) const
void stash_fcn_location(int line, int col)
bool is_system_fcn_file(void) const
unwind_protect * curr_unwind_protect_frame
bool is_subfunction(void) const
bool is_class_method(const std::string &cname=std::string()) const
static void mark_subfunctions_in_scope_as_private(scope_id scope, const std::string &class_name)
#define DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
bool is_anonymous_function(void) const
octave_user_code(const std::string &nm, const std::string &ds=std::string())
F77_RET_T const double const double * f
void stash_function_name(const std::string &s)
tree_parameter_list * return_list(void)
void mark_as_nested_function(void)
static void erase_subfunctions_in_scope(scope_id scope)
void stash_parent_fcn_scope(symbol_table::scope_id ps)
void mark_as_class_method(void)
void mark_as_private_function(const std::string &cname=std::string())
octave_time time_parsed(void) const
void mark_fcn_file_up_to_date(const octave_time &t)
tree_statement_list * cmd_list
jit_function_info * get_info(void)
std::string fcn_file_name(void) const
octave_time time_checked(void) const
octave_value subsref(const std::string &type, const std::list< octave_value_list > &idx)
void mark_as_classdef_constructor(void)
octave_user_code * user_code_value(bool=false)
octave_user_script * user_script_value(bool=false)
tree_statement_list * body(void)
void erase_subfunctions(void)
jit_function_info * jit_info
void stash_fcn_file_name(const std::string &nm)
tree_statement_list * cmd_list
class_ctor_type class_constructor
octave_function * function_value(bool=false)
tree_parameter_list * param_list
void mark_as_anonymous_function(void)
void mark_as_subfunction(void)
int ending_line(void) const
int beginning_column(void) const
bool is_class_constructor(const std::string &cname=std::string()) const
void stash_fcn_file_time(const octave_time &t)
std::string fcn_file_name(void) const
tree_statement_list * body(void)
void stash_parent_fcn_name(const std::string &p)
std::string parent_fcn_name(void) const
tree_parameter_list * ret_list
virtual void mark_as_private_function(const std::string &cname=std::string())
void mark_as_class_constructor(void)
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))
void stash_fcn_file_time(const octave_time &t)
octave_time time_parsed(void) const
bool is_nested_function(void) const
int ending_column(void) const