*improved meta function.

This commit is contained in:
Wang Renxin 2017-02-16 13:38:35 +08:00
parent 82cf8ca6b4
commit de0a3b7cc5
3 changed files with 6 additions and 3 deletions

View File

@ -1,3 +1,6 @@
Feb. 16 2017
Improved meta function
Feb. 14 2017
Fixed a wrong routing unreferencing bug

View File

@ -4538,9 +4538,9 @@ static mb_meta_status_u _try_overridden(mb_interpreter_t* s, void** l, mb_value_
_MAKE_NIL(&obj);
_public_value_to_internal_object(d, &obj);
if(t == MB_MF_COLL && obj.data.usertype_ref->coll_func)
return obj.data.usertype_ref->coll_func(s, l, f);
return obj.data.usertype_ref->coll_func(s, l, d, f);
else if(t == MB_MF_FUNC && obj.data.usertype_ref->generic_func)
return obj.data.usertype_ref->generic_func(s, l, f);
return obj.data.usertype_ref->generic_func(s, l, d, f);
}
#endif /* MB_ENABLE_USERTYPE_REF */
#ifdef MB_ENABLE_CLASS

View File

@ -552,7 +552,7 @@ typedef unsigned (* mb_hash_func_t)(struct mb_interpreter_t*, void*);
typedef int (* mb_cmp_func_t)(struct mb_interpreter_t*, void*, void*);
typedef int (* mb_fmt_func_t)(struct mb_interpreter_t*, void*, char*, unsigned);
typedef int (* mb_meta_operator_t)(struct mb_interpreter_t*, void**, mb_value_t*, mb_value_t*, mb_value_t*);
typedef mb_meta_status_u (* mb_meta_func_t)(struct mb_interpreter_t*, void**, const char*);
typedef mb_meta_status_u (* mb_meta_func_t)(struct mb_interpreter_t*, void**, mb_value_t*, const char*);
typedef char* (* mb_memory_allocate_func_t)(unsigned);
typedef void (* mb_memory_free_func_t)(char*);