removed MOO_BQ().
changed the primitive value load method
This commit is contained in:
parent
3874483b23
commit
5004b39125
@ -10296,22 +10296,19 @@ static int __compile_pooldic_definition (moo_t* moo)
|
||||
|
||||
switch (pvbase->type)
|
||||
{
|
||||
case MOO_PV_INT:
|
||||
case MOO_PV_OOI:
|
||||
{
|
||||
moo_oocs_t x;
|
||||
|
||||
x.ptr = moo_dupbtooocstr(moo, pvbase->vstr, &x.len);
|
||||
if (!x.ptr) goto oops;
|
||||
|
||||
tmp = string_to_int(moo, &x, 0);
|
||||
moo_freemem (moo, x.ptr);
|
||||
if (tmp && MOO_OOP_IS_POINTER(tmp)) MOO_OBJ_SET_FLAGS_RDONLY (tmp, 1);
|
||||
tmp = moo_ooitoint(moo, (moo_ooi_t)pvbase->value);
|
||||
break;
|
||||
}
|
||||
|
||||
/* case MOO_PV_STR:
|
||||
*/
|
||||
case MOO_PV_OOW:
|
||||
{
|
||||
tmp = moo_oowtoint(moo, (moo_oow_t)pvbase->value);
|
||||
break;
|
||||
}
|
||||
|
||||
/* TODO: support more types... MOO_PV_OOI_BCSTR, MOO_PV_OOI_UCSTR, MOO_PV_FPDEC_BCSTR, MOO_PV_BCSTR, MOO_PV_UCSTR, etc */
|
||||
default:
|
||||
moo_setsynerrbfmt (moo, MOO_SYNERR_STRING, TOKEN_LOC(moo), TOKEN_NAME(moo), "unsupported primitive value type - %d", pvbase->type);
|
||||
goto oops;
|
||||
|
@ -1049,11 +1049,4 @@ typedef struct moo_t moo_t;
|
||||
|
||||
#define MOO_STATIC_ASSERT_EXPR(expr) ((void)MOO_SIZEOF(char[(expr)? 1: -1]))
|
||||
|
||||
|
||||
/* =========================================================================
|
||||
* QUOTING
|
||||
* =========================================================================*/
|
||||
#define MOO_BQ_(val) #val
|
||||
#define MOO_BQ(val) MOO_BQ_(val)
|
||||
|
||||
#endif
|
||||
|
@ -1334,16 +1334,16 @@ struct moo_pfinfo_t
|
||||
|
||||
enum moo_pvtype_t
|
||||
{
|
||||
MOO_PV_INT,
|
||||
MOO_PV_STR,
|
||||
MOO_PV_SYM
|
||||
MOO_PV_OOI,
|
||||
MOO_PV_OOW
|
||||
/* TODO: more types */
|
||||
};
|
||||
typedef enum moo_pvtype_t moo_pvtype_t;
|
||||
|
||||
struct moo_pvbase_t
|
||||
{
|
||||
moo_pvtype_t type;
|
||||
const void* vstr;
|
||||
const void* value;
|
||||
};
|
||||
typedef struct moo_pvbase_t moo_pvbase_t;
|
||||
|
||||
|
@ -126,21 +126,20 @@ static moo_pfinfo_t pfinfos[] =
|
||||
|
||||
static moo_pvinfo_t pvinfos[] =
|
||||
{
|
||||
{ "O_CLOEXEC", { MOO_PV_INT, MOO_BQ(O_CLOEXEC) } },
|
||||
{ "O_CREAT", { MOO_PV_INT, MOO_BQ(O_CREAT) } },
|
||||
{ "O_EXCL", { MOO_PV_INT, MOO_BQ(O_EXCL) } },
|
||||
{ "O_NOFOLLOW", { MOO_PV_INT, MOO_BQ(O_NOFOLLOW) } },
|
||||
{ "O_NONBLOCK", { MOO_PV_INT, MOO_BQ(O_NONBLOCK) } },
|
||||
{ "O_RDONLY", { MOO_PV_INT, MOO_BQ(O_RDONLY) } },
|
||||
{ "O_RDWR", { MOO_PV_INT, MOO_BQ(O_RDWR) } },
|
||||
{ "O_TRUNC", { MOO_PV_INT, MOO_BQ(O_TRUNC) } },
|
||||
{ "O_WRONLY", { MOO_PV_INT, MOO_BQ(O_WRONLY) } },
|
||||
{ "O_CLOEXEC", { MOO_PV_OOI, (const void*)O_CLOEXEC } },
|
||||
{ "O_CREAT", { MOO_PV_OOI, (const void*)O_CREAT } },
|
||||
{ "O_EXCL", { MOO_PV_OOI, (const void*)O_EXCL } },
|
||||
{ "O_NOFOLLOW", { MOO_PV_OOI, (const void*)O_NOFOLLOW } },
|
||||
{ "O_NONBLOCK", { MOO_PV_OOI, (const void*)O_NONBLOCK } },
|
||||
{ "O_RDONLY", { MOO_PV_OOI, (const void*)O_RDONLY } },
|
||||
{ "O_RDWR", { MOO_PV_OOI, (const void*)O_RDWR } },
|
||||
{ "O_TRUNC", { MOO_PV_OOI, (const void*)O_TRUNC } },
|
||||
{ "O_WRONLY", { MOO_PV_OOI, (const void*)O_WRONLY } }
|
||||
};
|
||||
/* ------------------------------------------------------------------------ */
|
||||
|
||||
static int import (moo_t* moo, moo_mod_t* mod, moo_oop_class_t _class)
|
||||
{
|
||||
/*if (moo_setclasstrsize(moo, _class, MOO_SIZEOF(io_t), MOO_NULL) <= -1) return -1;*/
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user