some code for const processing
This commit is contained in:
parent
19d480719e
commit
3559e5fa0e
@ -3869,7 +3869,7 @@ if super is variable-nonpointer, no instance variable is allowed.
|
|||||||
{
|
{
|
||||||
/* this part is to remember the variable access type that indicates
|
/* this part is to remember the variable access type that indicates
|
||||||
* whether to generate a getter method and a setter method */
|
* whether to generate a getter method and a setter method */
|
||||||
if (set_class_level_variable_initv (moo, dcl_type, cc->var[dcl_type].count - 1, MOO_NULL, varacc_type) <= -1) return -1;
|
if (set_class_level_variable_initv(moo, dcl_type, cc->var[dcl_type].count - 1, MOO_NULL, varacc_type) <= -1) return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (TOKEN_TYPE(moo) == MOO_IOTOK_COMMA || TOKEN_TYPE(moo) == MOO_IOTOK_EOF || TOKEN_TYPE(moo) == MOO_IOTOK_PERIOD)
|
else if (TOKEN_TYPE(moo) == MOO_IOTOK_COMMA || TOKEN_TYPE(moo) == MOO_IOTOK_EOF || TOKEN_TYPE(moo) == MOO_IOTOK_PERIOD)
|
||||||
@ -4023,7 +4023,33 @@ static int compile_class_level_consts (moo_t* moo)
|
|||||||
{
|
{
|
||||||
if (TOKEN_TYPE(moo) == MOO_IOTOK_IDENT)
|
if (TOKEN_TYPE(moo) == MOO_IOTOK_IDENT)
|
||||||
{
|
{
|
||||||
/* TODO */
|
/* TODO: */
|
||||||
|
#if 0
|
||||||
|
if (add_class_level_const(moo, TOKEN_NAME(moo), TOKEN_LOC(moo)) <= -1) return -1;
|
||||||
|
|
||||||
|
GET_TOKEN (moo);
|
||||||
|
|
||||||
|
if (TOKEN_TYPE(moo) == MOO_IOTOK_ASSIGN)
|
||||||
|
{
|
||||||
|
moo_oop_t lit;
|
||||||
|
|
||||||
|
GET_TOKEN (moo);
|
||||||
|
|
||||||
|
/* only a single literal token is allowed as a value for now.
|
||||||
|
* TODO: extend to support simple constant expression */
|
||||||
|
lit = token_to_literal(moo, 1);
|
||||||
|
if (!lit) return -1;
|
||||||
|
|
||||||
|
if (set_class_level_const_value(moo, cc->_const.count - 1, lit) <= -1) return -1;
|
||||||
|
|
||||||
|
GET_TOKEN (moo);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
moo_setsynerr (moo, MOO_SYNERR_ASSIGN, TOKEN_LOC(moo), TOKEN_NAME(moo));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else if (TOKEN_TYPE(moo) == MOO_IOTOK_COMMA || TOKEN_TYPE(moo) == MOO_IOTOK_EOF || TOKEN_TYPE(moo) == MOO_IOTOK_PERIOD)
|
else if (TOKEN_TYPE(moo) == MOO_IOTOK_COMMA || TOKEN_TYPE(moo) == MOO_IOTOK_EOF || TOKEN_TYPE(moo) == MOO_IOTOK_PERIOD)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user