raised the version to 0.9.7.
All checks were successful
continuous-integration/drone/push Build is passing

added Hawk::Value::getTypeName().
fixed some build issues
This commit is contained in:
2024-04-16 12:05:50 +09:00
parent 0b9d05e5c3
commit 0407dd648c
14 changed files with 53 additions and 42 deletions

View File

@ -1046,6 +1046,7 @@ public:
}
int getType () const { return hawk_get_val_type(this->val); }
const hawk_ooch_t* getTypeName () const { return hawk_get_val_type_name(this->val); }
int getInt (hawk_int_t* v) const;
int getFlt (hawk_flt_t* v) const;

View File

@ -120,7 +120,7 @@ subdir = lib
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_sign.m4 \
$(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
$(top_srcdir)/m4/ax_cxx_namespace.m4 \
$(top_srcdir)/m4/ax_cxx_namespaces.m4 \
$(top_srcdir)/m4/ax_lib_mysql.m4 $(top_srcdir)/m4/ax_numval.m4 \
$(top_srcdir)/m4/ax_pthread.m4 \
$(top_srcdir)/m4/hawk_try_cflags.m4 \

View File

@ -3663,6 +3663,10 @@ HAWK_EXPORT int hawk_get_val_type (
hawk_val_t* val
);
HAWK_EXPORT const hawk_ooch_t* hawk_get_val_type_name (
hawk_val_t* val
);
#if defined(__cplusplus)
}
#endif

View File

@ -27,13 +27,32 @@
#define CHUNKSIZE HAWK_VAL_CHUNK_SIZE
static hawk_val_nil_t hawk_nil = { HAWK_VAL_NIL, 0, 1, 0, 0 };
/* zero-length string */
static hawk_val_str_t hawk_zls = { HAWK_VAL_STR, 0, 1, 0, 0, { HAWK_T(""), 0 } };
/* zero-length byte string */
static hawk_val_mbs_t hawk_zlbs = { HAWK_VAL_MBS, 0, 1, 0, 0, { HAWK_BT(""), 0 } };
hawk_val_t* hawk_val_nil = (hawk_val_t*)&hawk_nil;
hawk_val_t* hawk_val_zls = (hawk_val_t*)&hawk_zls;
hawk_val_t* hawk_val_zlbs = (hawk_val_t*)&hawk_zlbs;
static const hawk_ooch_t* val_type_name[] =
{
/* synchronize this table with enum hawk_val_type_t in hawk.h */
HAWK_T("nil"),
HAWK_T("char"),
HAWK_T("bchar"),
HAWK_T("int"),
HAWK_T("flt"),
HAWK_T("str"),
HAWK_T("mbs"),
HAWK_T("fun"),
HAWK_T("map"),
HAWK_T("array"),
HAWK_T("rex"),
HAWK_T("ref")
};
/* --------------------------------------------------------------------- */
@ -472,6 +491,11 @@ int hawk_get_val_type (hawk_val_t* val)
return HAWK_GET_VAL_TYPE(val);
}
const hawk_ooch_t* hawk_get_val_type_name (hawk_val_t* val)
{
return val_type_name[HAWK_GET_VAL_TYPE(val)];
}
hawk_val_t* hawk_get_nil_val (void)
{
return (hawk_val_t*)&hawk_nil;
@ -1431,25 +1455,7 @@ int hawk_rtx_getvaltype (hawk_rtx_t* rtx, const hawk_val_t* val)
const hawk_ooch_t* hawk_rtx_getvaltypename(hawk_rtx_t* rtx, const hawk_val_t* val)
{
static const hawk_ooch_t* __val_type_name[] =
{
/* synchronize this table with enum hawk_val_type_t in hawk.h */
HAWK_T("nil"),
HAWK_T("char"),
HAWK_T("bchar"),
HAWK_T("int"),
HAWK_T("flt"),
HAWK_T("str"),
HAWK_T("mbs"),
HAWK_T("fun"),
HAWK_T("map"),
HAWK_T("array"),
HAWK_T("rex"),
HAWK_T("ref")
};
return __val_type_name[HAWK_RTX_GETVALTYPE(rtx, val)];
return val_type_name[HAWK_RTX_GETVALTYPE(rtx, val)];
}
int hawk_rtx_getintfromval (hawk_rtx_t* rtx, const hawk_val_t* val)