Lines Matching refs:ufunc
1096 ufunc_T *ufunc = NULL; in lambda_function_body() local
1202 ufunc = alloc_clear(offsetof(ufunc_T, uf_name) + STRLEN(name) + 1); in lambda_function_body()
1203 if (ufunc == NULL) in lambda_function_body()
1205 set_ufunc_name(ufunc, name); in lambda_function_body()
1206 if (hash_add(&func_hashtab, UF2HIKEY(ufunc)) == FAIL) in lambda_function_body()
1208 ufunc->uf_refcount = 1; in lambda_function_body()
1209 ufunc->uf_args = *newargs; in lambda_function_body()
1211 ufunc->uf_def_args = *default_args; in lambda_function_body()
1213 ufunc->uf_func_type = &t_func_any; in lambda_function_body()
1220 if (parse_argument_types(ufunc, argtypes, varargs) == FAIL) in lambda_function_body()
1227 if (parse_return_type(ufunc, ret_type) == FAIL) in lambda_function_body()
1233 pt->pt_func = ufunc; in lambda_function_body()
1236 ufunc->uf_lines = newlines; in lambda_function_body()
1239 ufunc->uf_flags |= FC_SANDBOX; in lambda_function_body()
1240 if (!ASCII_ISUPPER(*ufunc->uf_name)) in lambda_function_body()
1241 ufunc->uf_flags |= FC_VIM9; in lambda_function_body()
1242 ufunc->uf_script_ctx = current_sctx; in lambda_function_body()
1243 ufunc->uf_script_ctx_version = current_sctx.sc_version; in lambda_function_body()
1244 ufunc->uf_script_ctx.sc_lnum += sourcing_lnum_top; in lambda_function_body()
1245 set_function_type(ufunc); in lambda_function_body()
1247 function_using_block_scopes(ufunc, evalarg->eval_cstack); in lambda_function_body()
1251 ufunc = NULL; in lambda_function_body()
1262 if (ufunc != NULL) in lambda_function_body()
1264 func_clear(ufunc, TRUE); in lambda_function_body()
1265 func_free(ufunc, TRUE); in lambda_function_body()
1951 func_is_global(ufunc_T *ufunc) in func_is_global() argument
1953 return ufunc->uf_name[0] != K_SPECIAL; in func_is_global()
2301 ufunc_T *ufunc = find_func_even_dead(lambda, TRUE, NULL); in copy_func() local
2304 if (ufunc == NULL) in copy_func()
2322 fp->uf_varargs = ufunc->uf_varargs; in copy_func()
2323 fp->uf_flags = (ufunc->uf_flags & ~FC_VIM9) | FC_COPY; in copy_func()
2324 fp->uf_def_status = ufunc->uf_def_status; in copy_func()
2325 fp->uf_dfunc_idx = ufunc->uf_dfunc_idx; in copy_func()
2326 if (ga_copy_strings(&ufunc->uf_args, &fp->uf_args) == FAIL in copy_func()
2327 || ga_copy_strings(&ufunc->uf_def_args, &fp->uf_def_args) in copy_func()
2329 || ga_copy_strings(&ufunc->uf_lines, &fp->uf_lines) == FAIL) in copy_func()
2332 fp->uf_name_exp = ufunc->uf_name_exp == NULL ? NULL in copy_func()
2333 : vim_strsave(ufunc->uf_name_exp); in copy_func()
2334 if (ufunc->uf_arg_types != NULL) in copy_func()
2339 mch_memmove(fp->uf_arg_types, ufunc->uf_arg_types, in copy_func()
2342 if (ufunc->uf_va_name != NULL) in copy_func()
2344 fp->uf_va_name = vim_strsave(ufunc->uf_va_name); in copy_func()
2348 fp->uf_ret_type = ufunc->uf_ret_type; in copy_func()
2360 if ((ufunc->uf_flags & FC_CLOSURE) && ufunc->uf_partial == NULL) in copy_func()
2366 if (fill_partial_and_closure(pt, ufunc, ectx) == FAIL) in copy_func()
2371 ufunc->uf_partial = pt; in copy_func()
4530 ufunc_T *ufunc; in ex_defcompile() local
4537 ufunc = HI2UF(hi); in ex_defcompile()
4538 if (ufunc->uf_script_ctx.sc_sid == current_sctx.sc_sid in ex_defcompile()
4539 && ufunc->uf_def_status == UF_TO_BE_COMPILED in ex_defcompile()
4540 && (ufunc->uf_flags & FC_DEAD) == 0) in ex_defcompile()
4542 (void)compile_def_function(ufunc, FALSE, CT_NONE, NULL); in ex_defcompile()
4588 has_varargs(ufunc_T *ufunc) in has_varargs() argument
4590 return ufunc->uf_varargs || ufunc->uf_va_name != NULL; in has_varargs()