add pic_init_value macro
This commit is contained in:
parent
46fccff806
commit
e056586ab9
|
@ -29,6 +29,7 @@ typedef struct {
|
|||
|
||||
#define pic_ptr(v) ((v).u.data)
|
||||
#define pic_vtype(v) ((v).type)
|
||||
#define pic_init_value(v,vtype) ((v).type = (vtype), (v).u.data = NULL)
|
||||
|
||||
enum pic_tt {
|
||||
/* immediate */
|
||||
|
|
|
@ -264,8 +264,7 @@ pic_port_eof_object(pic_state *pic)
|
|||
|
||||
pic_get_args(pic, "");
|
||||
|
||||
v.type = PIC_VTYPE_EOF;
|
||||
v.u.data = NULL;
|
||||
pic_init_value(v, PIC_VTYPE_EOF);
|
||||
|
||||
return v;
|
||||
}
|
||||
|
|
26
src/value.c
26
src/value.c
|
@ -6,7 +6,7 @@
|
|||
enum pic_tt
|
||||
pic_type(pic_value v)
|
||||
{
|
||||
switch (v.type) {
|
||||
switch (pic_vtype(v)) {
|
||||
case PIC_VTYPE_NIL:
|
||||
return PIC_TT_NIL;
|
||||
case PIC_VTYPE_TRUE:
|
||||
|
@ -59,8 +59,7 @@ pic_nil_value()
|
|||
{
|
||||
pic_value v;
|
||||
|
||||
v.type = PIC_VTYPE_NIL;
|
||||
v.u.data = NULL;
|
||||
pic_init_value(v, PIC_VTYPE_NIL);
|
||||
return v;
|
||||
}
|
||||
|
||||
|
@ -69,8 +68,7 @@ pic_true_value()
|
|||
{
|
||||
pic_value v;
|
||||
|
||||
v.type = PIC_VTYPE_TRUE;
|
||||
v.u.data = NULL;
|
||||
pic_init_value(v, PIC_VTYPE_TRUE);
|
||||
return v;
|
||||
}
|
||||
|
||||
|
@ -79,7 +77,7 @@ pic_false_value()
|
|||
{
|
||||
pic_value v;
|
||||
|
||||
v.type = PIC_VTYPE_FALSE;
|
||||
pic_init_value(v, PIC_VTYPE_FALSE);
|
||||
v.u.data = NULL;
|
||||
return v;
|
||||
}
|
||||
|
@ -89,8 +87,7 @@ pic_bool_value(bool b)
|
|||
{
|
||||
pic_value v;
|
||||
|
||||
v.type = b ? PIC_VTYPE_TRUE : PIC_VTYPE_FALSE;
|
||||
v.u.data = NULL;
|
||||
pic_init_value(v, b ? PIC_VTYPE_TRUE : PIC_VTYPE_FALSE);
|
||||
return v;
|
||||
}
|
||||
|
||||
|
@ -99,7 +96,7 @@ pic_obj_value(void *ptr)
|
|||
{
|
||||
pic_value v;
|
||||
|
||||
v.type = PIC_VTYPE_HEAP;
|
||||
pic_init_value(v, PIC_VTYPE_HEAP);
|
||||
v.u.data = ptr;
|
||||
return v;
|
||||
}
|
||||
|
@ -109,7 +106,7 @@ pic_float_value(double f)
|
|||
{
|
||||
pic_value v;
|
||||
|
||||
v.type = PIC_VTYPE_FLOAT;
|
||||
pic_init_value(v, PIC_VTYPE_FLOAT);
|
||||
v.u.f = f;
|
||||
return v;
|
||||
}
|
||||
|
@ -119,7 +116,7 @@ pic_int_value(int i)
|
|||
{
|
||||
pic_value v;
|
||||
|
||||
v.type = PIC_VTYPE_INT;
|
||||
pic_init_value(v, PIC_VTYPE_INT);
|
||||
v.u.i = i;
|
||||
return v;
|
||||
}
|
||||
|
@ -129,7 +126,7 @@ pic_symbol_value(pic_sym sym)
|
|||
{
|
||||
pic_value v;
|
||||
|
||||
v.type = PIC_VTYPE_SYMBOL;
|
||||
pic_init_value(v, PIC_VTYPE_SYMBOL);
|
||||
v.u.sym = sym;
|
||||
return v;
|
||||
}
|
||||
|
@ -139,7 +136,7 @@ pic_char_value(char c)
|
|||
{
|
||||
pic_value v;
|
||||
|
||||
v.type = PIC_VTYPE_CHAR;
|
||||
pic_init_value(v, PIC_VTYPE_CHAR);
|
||||
v.u.c = c;
|
||||
return v;
|
||||
}
|
||||
|
@ -149,7 +146,6 @@ pic_undef_value()
|
|||
{
|
||||
pic_value v;
|
||||
|
||||
v.type = PIC_VTYPE_UNDEF;
|
||||
v.u.data = NULL;
|
||||
pic_init_value(v, PIC_VTYPE_UNDEF);
|
||||
return v;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue