fix: header updates

This commit is contained in:
Jakub Łuczyński 2020-02-10 14:20:12 +01:00
parent 937da5dd7e
commit 3477512f81
4 changed files with 33 additions and 34 deletions

View File

@ -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

View File

@ -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.

View File

@ -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()

View File

@ -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