fx: implement a proper value-type mechanism
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
#include <fx/value-type.h>
|
||||
|
||||
bool fx_type_is_value_type(fx_type_id ty)
|
||||
{
|
||||
return ty->a.p00 == __FX_VALUE_TYPE_BASEID;
|
||||
}
|
||||
|
||||
unsigned int __fx_type_get_value_type(fx_type_id ty)
|
||||
{
|
||||
if (ty->a.p00 != __FX_VALUE_TYPE_BASEID) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return ty->a.p01;
|
||||
}
|
||||
|
||||
/*** CLASS DEFINITION *********************************************************/
|
||||
|
||||
FX_TYPE_CLASS_BEGIN(fx_value_type)
|
||||
FX_TYPE_VTABLE_INTERFACE_BEGIN(fx_object, FX_TYPE_OBJECT)
|
||||
FX_INTERFACE_ENTRY(to_string) = NULL;
|
||||
FX_TYPE_VTABLE_INTERFACE_END(fx_object, FX_TYPE_OBJECT)
|
||||
FX_TYPE_CLASS_END(fx_value_type)
|
||||
|
||||
FX_TYPE_DEFINITION_BEGIN(fx_value_type)
|
||||
type_info->ty_id.a.p00 = __FX_VALUE_TYPE_BASEID;
|
||||
type_info->ty_id.a.p01 = 0;
|
||||
FX_TYPE_NAME("fx.value-type");
|
||||
FX_TYPE_CLASS(fx_value_type_class);
|
||||
FX_TYPE_DEFINITION_END(fx_value_type)
|
||||
Reference in New Issue
Block a user