diff options
author | Jakub Łuczyński <doubleloop@o2.pl> | 2020-02-10 14:20:12 +0100 |
---|---|---|
committer | Jakub Łuczyński <doubleloop@o2.pl> | 2020-02-13 14:11:44 +0100 |
commit | 3477512f810f5dc9717301e4ff76b5ef368d67e8 (patch) | |
tree | 804e51afb259e7dc717df2ca4f2dbbcc92e71dd8 | |
parent | 937da5dd7ebf7e164e81a1361fdd5239cc9b5201 (diff) | |
download | rneovim-3477512f810f5dc9717301e4ff76b5ef368d67e8.tar.gz rneovim-3477512f810f5dc9717301e4ff76b5ef368d67e8.tar.bz2 rneovim-3477512f810f5dc9717301e4ff76b5ef368d67e8.zip |
fix: header updates
-rw-r--r-- | src/nvim/eval.h | 3 | ||||
-rw-r--r-- | src/nvim/eval/typval.h | 33 | ||||
-rw-r--r-- | src/nvim/eval/user_funcs.c | 28 | ||||
-rw-r--r-- | src/nvim/eval/user_funcs.h | 3 |
4 files changed, 33 insertions, 34 deletions
diff --git a/src/nvim/eval.h b/src/nvim/eval.h index 1aaccd88fb..6890d24252 100644 --- a/src/nvim/eval.h +++ b/src/nvim/eval.h @@ -180,9 +180,6 @@ extern const list_T *eval_msgpack_type_lists[LAST_MSGPACK_TYPE + 1]; #undef LAST_MSGPACK_TYPE -typedef int (*ArgvFunc)(int current_argcount, typval_T *argv, - int called_func_argcount); - /// trans_function_name() flags typedef enum { TFN_INT = 1, ///< May use internal function name diff --git a/src/nvim/eval/typval.h b/src/nvim/eval/typval.h index 008453b87f..cc12ad08fa 100644 --- a/src/nvim/eval/typval.h +++ b/src/nvim/eval/typval.h @@ -258,9 +258,39 @@ typedef struct { linenr_T sc_lnum; // line number } sctx_T; +/// Maximum number of function arguments +#define MAX_FUNC_ARGS 20 +/// Short variable name length +#define VAR_SHORT_LEN 20 +/// Number of fixed variables used for arguments +#define FIXVAR_CNT 12 + // Structure to hold info for a function that is currently being executed. typedef struct funccall_S funccall_T; +struct funccall_S { + ufunc_T *func; ///< Function being called. + int linenr; ///< Next line to be executed. + int returned; ///< ":return" used. + /// Fixed variables for arguments. + TV_DICTITEM_STRUCT(VAR_SHORT_LEN + 1) fixvar[FIXVAR_CNT]; + dict_T l_vars; ///< l: local function variables. + ScopeDictDictItem l_vars_var; ///< Variable for l: scope. + dict_T l_avars; ///< a: argument variables. + ScopeDictDictItem l_avars_var; ///< Variable for a: scope. + list_T l_varlist; ///< List for a:000. + listitem_T l_listitems[MAX_FUNC_ARGS]; ///< List items for a:000. + typval_T *rettv; ///< Return value. + linenr_T breakpoint; ///< Next line with breakpoint or zero. + int dbg_tick; ///< Debug_tick when breakpoint was set. + int level; ///< Top nesting level of executed function. + proftime_T prof_child; ///< Time spent in a child. + funccall_T *caller; ///< Calling function or NULL. + int fc_refcount; ///< Number of user functions that reference this funccall. + int fc_copyID; ///< CopyID used for garbage collection. + garray_T fc_funcs; ///< List of ufunc_T* which keep a reference to "func". +}; + /// Structure to hold info for a user function. struct ufunc { int uf_varargs; ///< variable nr of arguments @@ -293,9 +323,6 @@ struct ufunc { ///< (<SNR> is K_SPECIAL KS_EXTRA KE_SNR) }; -/// Maximum number of function arguments -#define MAX_FUNC_ARGS 20 - struct partial_S { int pt_refcount; ///< Reference count. char_u *pt_name; ///< Function name; when NULL use pt_func->name. diff --git a/src/nvim/eval/user_funcs.c b/src/nvim/eval/user_funcs.c index 72313c3bd7..76a9438314 100644 --- a/src/nvim/eval/user_funcs.c +++ b/src/nvim/eval/user_funcs.c @@ -17,34 +17,6 @@ #define FUNCARG(fp, j) ((char_u **)(fp->uf_args.ga_data))[j] #define FUNCLINE(fp, j) ((char_u **)(fp->uf_lines.ga_data))[j] -/// Short variable name length -#define VAR_SHORT_LEN 20 -/// Number of fixed variables used for arguments -#define FIXVAR_CNT 12 - -struct funccall_S { - ufunc_T *func; ///< Function being called. - int linenr; ///< Next line to be executed. - int returned; ///< ":return" used. - /// Fixed variables for arguments. - TV_DICTITEM_STRUCT(VAR_SHORT_LEN + 1) fixvar[FIXVAR_CNT]; - dict_T l_vars; ///< l: local function variables. - ScopeDictDictItem l_vars_var; ///< Variable for l: scope. - dict_T l_avars; ///< a: argument variables. - ScopeDictDictItem l_avars_var; ///< Variable for a: scope. - list_T l_varlist; ///< List for a:000. - listitem_T l_listitems[MAX_FUNC_ARGS]; ///< List items for a:000. - typval_T *rettv; ///< Return value. - linenr_T breakpoint; ///< Next line with breakpoint or zero. - int dbg_tick; ///< Debug_tick when breakpoint was set. - int level; ///< Top nesting level of executed function. - proftime_T prof_child; ///< Time spent in a child. - funccall_T *caller; ///< Calling function or NULL. - int fc_refcount; ///< Number of user functions that reference this funccall. - int fc_copyID; ///< CopyID used for garbage collection. - garray_T fc_funcs; ///< List of ufunc_T* which keep a reference to "func". -}; - hashtab_T func_hashtab; // Used by get_func_tv() diff --git a/src/nvim/eval/user_funcs.h b/src/nvim/eval/user_funcs.h index 81a5ac12b4..a62172973f 100644 --- a/src/nvim/eval/user_funcs.h +++ b/src/nvim/eval/user_funcs.h @@ -23,6 +23,9 @@ typedef enum { ERROR_DELETED, } FnameTransError; +typedef int (*ArgvFunc)(int current_argcount, typval_T *argv, + int called_func_argcount); + #ifdef INCLUDE_GENERATED_DECLARATIONS # include "eval/user_funcs.h.generated.h" #endif |