Bram Moolenaar | 367d59e | 2020-05-30 17:06:14 +0200 | [diff] [blame] | 1 | /* typval.c */ |
| 2 | typval_T *alloc_tv(void); |
| 3 | typval_T *alloc_string_tv(char_u *s); |
| 4 | void free_tv(typval_T *varp); |
| 5 | void clear_tv(typval_T *varp); |
| 6 | void init_tv(typval_T *varp); |
Bram Moolenaar | 367d59e | 2020-05-30 17:06:14 +0200 | [diff] [blame] | 7 | varnumber_T tv_get_number(typval_T *varp); |
Bram Moolenaar | be19d78 | 2023-03-09 22:06:49 +0000 | [diff] [blame] | 8 | varnumber_T tv_to_number(typval_T *varp); |
Bram Moolenaar | 367d59e | 2020-05-30 17:06:14 +0200 | [diff] [blame] | 9 | varnumber_T tv_get_number_chk(typval_T *varp, int *denote); |
Bram Moolenaar | 36967b3 | 2020-08-17 21:41:02 +0200 | [diff] [blame] | 10 | varnumber_T tv_get_bool(typval_T *varp); |
Bram Moolenaar | e15eebd | 2020-08-18 19:11:38 +0200 | [diff] [blame] | 11 | varnumber_T tv_get_bool_chk(typval_T *varp, int *denote); |
Bram Moolenaar | 367d59e | 2020-05-30 17:06:14 +0200 | [diff] [blame] | 12 | float_T tv_get_float(typval_T *varp); |
Ernie Rael | 51d04d1 | 2022-05-04 15:40:22 +0100 | [diff] [blame] | 13 | int check_for_unknown_arg(typval_T *args, int idx); |
Bram Moolenaar | 32105ae | 2021-03-27 18:59:25 +0100 | [diff] [blame] | 14 | int check_for_string_arg(typval_T *args, int idx); |
| 15 | int check_for_nonempty_string_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 83494b4 | 2021-07-20 17:51:51 +0200 | [diff] [blame] | 16 | int check_for_opt_string_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 1a71d31 | 2021-07-15 12:49:58 +0200 | [diff] [blame] | 17 | int check_for_number_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 83494b4 | 2021-07-20 17:51:51 +0200 | [diff] [blame] | 18 | int check_for_opt_number_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | a764e73 | 2021-07-25 15:57:32 +0200 | [diff] [blame] | 19 | int check_for_float_or_nr_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | a9a7c0c | 2021-07-17 19:11:07 +0200 | [diff] [blame] | 20 | int check_for_bool_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 83494b4 | 2021-07-20 17:51:51 +0200 | [diff] [blame] | 21 | int check_for_opt_bool_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 5dfe467 | 2021-09-14 17:54:30 +0200 | [diff] [blame] | 22 | int check_for_blob_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | a9a7c0c | 2021-07-17 19:11:07 +0200 | [diff] [blame] | 23 | int check_for_list_arg(typval_T *args, int idx); |
Bram Moolenaar | d83392a | 2022-09-01 12:22:46 +0100 | [diff] [blame] | 24 | int check_for_nonnull_list_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 83494b4 | 2021-07-20 17:51:51 +0200 | [diff] [blame] | 25 | int check_for_opt_list_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 5b73992 | 2021-07-10 13:15:41 +0200 | [diff] [blame] | 26 | int check_for_dict_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 04c4c57 | 2022-08-30 19:48:24 +0100 | [diff] [blame] | 27 | int check_for_nonnull_dict_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 83494b4 | 2021-07-20 17:51:51 +0200 | [diff] [blame] | 28 | int check_for_opt_dict_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | fa37835 | 2024-02-01 22:05:27 +0100 | [diff] [blame] | 29 | int check_for_opt_nonnull_dict_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 83494b4 | 2021-07-20 17:51:51 +0200 | [diff] [blame] | 30 | int check_for_chan_or_job_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 7973de3 | 2021-07-24 16:16:15 +0200 | [diff] [blame] | 31 | int check_for_opt_chan_or_job_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 83494b4 | 2021-07-20 17:51:51 +0200 | [diff] [blame] | 32 | int check_for_job_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 4490ec4 | 2021-07-27 22:00:44 +0200 | [diff] [blame] | 33 | int check_for_opt_job_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 83494b4 | 2021-07-20 17:51:51 +0200 | [diff] [blame] | 34 | int check_for_string_or_number_arg(typval_T *args, int idx); |
Bram Moolenaar | 265f811 | 2021-12-19 12:33:05 +0000 | [diff] [blame] | 35 | int check_for_opt_string_or_number_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 83494b4 | 2021-07-20 17:51:51 +0200 | [diff] [blame] | 36 | int check_for_buffer_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | cd91720 | 2021-07-21 19:09:09 +0200 | [diff] [blame] | 37 | int check_for_opt_buffer_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 83494b4 | 2021-07-20 17:51:51 +0200 | [diff] [blame] | 38 | int check_for_lnum_arg(typval_T *args, int idx); |
| 39 | int check_for_opt_lnum_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 83494b4 | 2021-07-20 17:51:51 +0200 | [diff] [blame] | 40 | int check_for_string_or_blob_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | cd91720 | 2021-07-21 19:09:09 +0200 | [diff] [blame] | 41 | int check_for_string_or_list_arg(typval_T *args, int idx); |
rbtnn | 0ccb584 | 2021-12-18 18:33:46 +0000 | [diff] [blame] | 42 | int check_for_string_or_list_or_blob_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | a764e73 | 2021-07-25 15:57:32 +0200 | [diff] [blame] | 43 | int check_for_opt_string_or_list_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 4490ec4 | 2021-07-27 22:00:44 +0200 | [diff] [blame] | 44 | int check_for_string_or_dict_arg(typval_T *args, int idx); |
| 45 | int check_for_string_or_number_or_list_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 7e6a2a6 | 2021-07-28 11:51:48 +0200 | [diff] [blame] | 46 | int check_for_opt_string_or_number_or_list_arg(typval_T *args, int idx); |
Bakudankun | 375141e | 2022-09-09 18:46:47 +0100 | [diff] [blame] | 47 | int check_for_string_or_number_or_list_or_blob_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 4490ec4 | 2021-07-27 22:00:44 +0200 | [diff] [blame] | 48 | int check_for_string_or_list_or_dict_arg(typval_T *args, int idx); |
Bram Moolenaar | 223d0a6 | 2021-12-25 19:29:21 +0000 | [diff] [blame] | 49 | int check_for_string_or_func_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 0ad871d | 2021-07-23 20:37:56 +0200 | [diff] [blame] | 50 | int check_for_list_or_blob_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 4490ec4 | 2021-07-27 22:00:44 +0200 | [diff] [blame] | 51 | int check_for_list_or_dict_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 0ad871d | 2021-07-23 20:37:56 +0200 | [diff] [blame] | 52 | int check_for_list_or_dict_or_blob_arg(typval_T *args, int idx); |
Bram Moolenaar | 2d87759 | 2021-12-16 08:21:09 +0000 | [diff] [blame] | 53 | int check_for_list_or_dict_or_blob_or_string_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | 4490ec4 | 2021-07-27 22:00:44 +0200 | [diff] [blame] | 54 | int check_for_opt_buffer_or_dict_arg(typval_T *args, int idx); |
LemonBoy | afe0466 | 2023-08-23 21:08:11 +0200 | [diff] [blame] | 55 | int check_for_object_arg(typval_T *args, int idx); |
Yegappan Lakshmanan | feaccd2 | 2023-10-28 15:53:55 +0200 | [diff] [blame] | 56 | int tv_class_alias(typval_T *tv); |
Ernie Rael | 2025af1 | 2023-12-12 16:58:00 +0100 | [diff] [blame] | 57 | int check_for_class_or_typealias_args(typval_T *args, int idx); |
Bram Moolenaar | 367d59e | 2020-05-30 17:06:14 +0200 | [diff] [blame] | 58 | char_u *tv_get_string(typval_T *varp); |
Bram Moolenaar | f2b26bc | 2021-01-30 23:05:11 +0100 | [diff] [blame] | 59 | char_u *tv_get_string_strict(typval_T *varp); |
Bram Moolenaar | 367d59e | 2020-05-30 17:06:14 +0200 | [diff] [blame] | 60 | char_u *tv_get_string_buf(typval_T *varp, char_u *buf); |
| 61 | char_u *tv_get_string_chk(typval_T *varp); |
| 62 | char_u *tv_get_string_buf_chk(typval_T *varp, char_u *buf); |
Bram Moolenaar | f2b26bc | 2021-01-30 23:05:11 +0100 | [diff] [blame] | 63 | char_u *tv_get_string_buf_chk_strict(typval_T *varp, char_u *buf, int strict); |
Bram Moolenaar | 9a78e6d | 2020-07-01 18:29:55 +0200 | [diff] [blame] | 64 | char_u *tv_stringify(typval_T *varp, char_u *buf); |
| 65 | int tv_check_lock(typval_T *tv, char_u *name, int use_gettext); |
| 66 | void copy_tv(typval_T *from, typval_T *to); |
Bram Moolenaar | 265f811 | 2021-12-19 12:33:05 +0000 | [diff] [blame] | 67 | int typval_compare(typval_T *tv1, typval_T *tv2, exprtype_T type, int ic); |
| 68 | int typval_compare_list(typval_T *tv1, typval_T *tv2, exprtype_T type, int ic, int *res); |
Bram Moolenaar | 7a22224 | 2022-03-01 19:23:24 +0000 | [diff] [blame] | 69 | int typval_compare_null(typval_T *tv1, typval_T *tv2); |
Bram Moolenaar | 265f811 | 2021-12-19 12:33:05 +0000 | [diff] [blame] | 70 | int typval_compare_blob(typval_T *tv1, typval_T *tv2, exprtype_T type, int *res); |
Bram Moolenaar | bcf31ec | 2023-01-02 20:32:24 +0000 | [diff] [blame] | 71 | int typval_compare_class(typval_T *tv1, typval_T *tv2, exprtype_T type, int ic, int *res); |
| 72 | int typval_compare_object(typval_T *tv1, typval_T *tv2, exprtype_T type, int ic, int *res); |
Bram Moolenaar | 265f811 | 2021-12-19 12:33:05 +0000 | [diff] [blame] | 73 | int typval_compare_dict(typval_T *tv1, typval_T *tv2, exprtype_T type, int ic, int *res); |
| 74 | int typval_compare_func(typval_T *tv1, typval_T *tv2, exprtype_T type, int ic, int *res); |
| 75 | int typval_compare_string(typval_T *tv1, typval_T *tv2, exprtype_T type, int ic, int *res); |
Bram Moolenaar | 3445320 | 2021-01-31 13:08:38 +0100 | [diff] [blame] | 76 | char_u *typval_tostring(typval_T *arg, int quotes); |
Bram Moolenaar | 9a78e6d | 2020-07-01 18:29:55 +0200 | [diff] [blame] | 77 | int tv_islocked(typval_T *tv); |
Yinzuo Jiang | 7ccd1a2 | 2024-07-04 17:20:53 +0200 | [diff] [blame^] | 78 | int tv_equal(typval_T *tv1, typval_T *tv2, int ic); |
Bram Moolenaar | 9a78e6d | 2020-07-01 18:29:55 +0200 | [diff] [blame] | 79 | int eval_option(char_u **arg, typval_T *rettv, int evaluate); |
| 80 | int eval_number(char_u **arg, typval_T *rettv, int evaluate, int want_string); |
Bram Moolenaar | 0abc287 | 2022-05-10 13:24:30 +0100 | [diff] [blame] | 81 | int eval_string(char_u **arg, typval_T *rettv, int evaluate, int interpolate); |
| 82 | int eval_lit_string(char_u **arg, typval_T *rettv, int evaluate, int interpolate); |
| 83 | int eval_interp_string(char_u **arg, typval_T *rettv, int evaluate); |
Bram Moolenaar | 9a78e6d | 2020-07-01 18:29:55 +0200 | [diff] [blame] | 84 | char_u *tv2string(typval_T *tv, char_u **tofree, char_u *numbuf, int copyID); |
| 85 | int eval_env_var(char_u **arg, typval_T *rettv, int evaluate); |
Bram Moolenaar | 367d59e | 2020-05-30 17:06:14 +0200 | [diff] [blame] | 86 | linenr_T tv_get_lnum(typval_T *argvars); |
| 87 | linenr_T tv_get_lnum_buf(typval_T *argvars, buf_T *buf); |
| 88 | buf_T *tv_get_buf(typval_T *tv, int curtab_only); |
Bram Moolenaar | 3767e3a | 2020-09-01 23:06:01 +0200 | [diff] [blame] | 89 | buf_T *tv_get_buf_from_arg(typval_T *tv); |
Bram Moolenaar | 367d59e | 2020-05-30 17:06:14 +0200 | [diff] [blame] | 90 | /* vim: set ft=c : */ |