doc: eval/typval_encode.h

Annotate TYPVAL_ENCODE_DEFINE_CONV_FUNCTIONS to aid code navigation.
This commit is contained in:
Justin M. Keyes 2016-10-31 02:03:37 +01:00
parent ed198737fd
commit b172f9904f
4 changed files with 16 additions and 4 deletions

View File

@ -472,6 +472,8 @@ static inline void typval_encode_dict_end(EncodedData *const edata)
#define TYPVAL_ENCODE_CONV_RECURSE(val, conv_type) \
TYPVAL_ENCODE_CONV_NIL()
// object_convert_one_value()
// encode_vim_to_object()
TYPVAL_ENCODE_DEFINE_CONV_FUNCTIONS(static, object, EncodedData *const, edata)
#undef TYPVAL_ENCODE_CONV_STRING

View File

@ -18096,6 +18096,8 @@ void free_tv(typval_T *varp)
#define TYPVAL_ENCODE_CONV_RECURSE(ignored1, ignored2)
// nothing_convert_one_value()
// encode_vim_to_nothing()
TYPVAL_ENCODE_DEFINE_CONV_FUNCTIONS(static, nothing, void *, ignored)
#undef TYPVAL_ENCODE_ALLOW_SPECIALS

View File

@ -383,6 +383,8 @@ int encode_read_from_list(ListReaderState *const state, char *const buf,
#define TYPVAL_ENCODE_ALLOW_SPECIALS false
// string_convert_one_value()
// encode_vim_to_string()
TYPVAL_ENCODE_DEFINE_CONV_FUNCTIONS(static, string, garray_T *const, gap)
#undef TYPVAL_ENCODE_CONV_RECURSE
@ -413,6 +415,8 @@ TYPVAL_ENCODE_DEFINE_CONV_FUNCTIONS(static, string, garray_T *const, gap)
return OK; \
} while (0)
// echo_convert_one_value()
// encode_vim_to_echo()
TYPVAL_ENCODE_DEFINE_CONV_FUNCTIONS(, echo, garray_T *const, gap)
#undef TYPVAL_ENCODE_CONV_RECURSE
@ -704,6 +708,8 @@ bool encode_check_json_key(const typval_T *const tv)
} \
} while (0)
// json_convert_one_value()
// encode_vim_to_json()
TYPVAL_ENCODE_DEFINE_CONV_FUNCTIONS(static, json, garray_T *const, gap)
#undef TYPVAL_ENCODE_CONV_STRING
@ -886,6 +892,8 @@ char *encode_tv2json(typval_T *tv, size_t *len)
#define TYPVAL_ENCODE_ALLOW_SPECIALS true
// msgpack_convert_one_value()
// encode_vim_to_msgpack()
TYPVAL_ENCODE_DEFINE_CONV_FUNCTIONS(, msgpack, msgpack_packer *const, packer)
#undef TYPVAL_ENCODE_CONV_STRING

View File

@ -212,10 +212,9 @@ static inline size_t tv_strlen(const typval_T *const tv)
: strlen((char *) tv->vval.v_string));
}
/// Define functions which convert VimL value to something else
///
/// Creates function `vim_to_{name}(firstargtype firstargname, typval_T *const
/// tv)` which returns OK or FAIL and helper functions.
/// Define functions to convert a VimL value:
/// `{name}_convert_one_value(...)`
/// `encode_vim_to_{name}(...)`
///
/// @param scope Scope of the main function: either nothing or `static`.
/// @param name Name of the target converter.
@ -224,6 +223,7 @@ static inline size_t tv_strlen(const typval_T *const tv)
/// @param firstargname Name of the first argument.
#define TYPVAL_ENCODE_DEFINE_CONV_FUNCTIONS(scope, name, firstargtype, \
firstargname) \
/* Returns OK or FAIL */ \
static int name##_convert_one_value(firstargtype firstargname, \
MPConvStack *const mpstack, \
typval_T *const tv, \