added new (optional) types to lparser.c (no idea what does it affect)

master
annelin 3 years ago
parent be65484feb
commit 73de201165

@ -1445,9 +1445,9 @@ static void ravi_typecheck(LexState *ls, expdesc *v, ravi_type_map *var_types,
} }
/* if we are calling a function then convert return types */ /* if we are calling a function then convert return types */
else if ((vartype == RAVI_TM_FLOAT || vartype == RAVI_TM_INTEGER || else if ((vartype == RAVI_TM_FLOAT || vartype == RAVI_TM_INTEGER ||
vartype == RAVI_TM_FLOAT_ARRAY || vartype == RAVI_TM_INTEGER_ARRAY || vartype == RAVI_TM_TABLE || vartype == RAVI_TM_STRING ||
vartype == RAVI_TM_TABLE || vartype == RAVI_TM_STRING_OR_NIL || vartype == RAVI_TM_FUNCTION || vartype == RAVI_TM_USERDATA ||
vartype == RAVI_TM_FUNCTION_OR_NIL || vartype == RAVI_TM_USERDATA_OR_NIL) && vartype == RAVI_TM_FLOAT_ARRAY || vartype == RAVI_TM_INTEGER_ARRAY) &&
v->k == VCALL) { v->k == VCALL) {
/* For local variable declarations that call functions e.g. /* For local variable declarations that call functions e.g.
* local i = func() * local i = func()
@ -1474,9 +1474,9 @@ static void ravi_typecheck(LexState *ls, expdesc *v, ravi_type_map *var_types,
/* do we need to convert ? */ /* do we need to convert ? */
ravi_code_typecoersion(ls, a + (i - n), var_types[i], NULL); ravi_code_typecoersion(ls, a + (i - n), var_types[i], NULL);
} }
else if (vartype == RAVI_TM_STRING_OR_NIL || else if (vartype == RAVI_TM_FLOAT_OR_NIL || vartype == RAVI_TM_INTEGER_OR_NIL ||
vartype == RAVI_TM_FUNCTION_OR_NIL || vartype == RAVI_TM_TABLE_OR_NIL || vartype == RAVI_TM_STRING_OR_NIL ||
vartype == RAVI_TM_USERDATA_OR_NIL) { vartype == RAVI_TM_FUNCTION_OR_NIL || vartype == RAVI_TM_USERDATA_OR_NIL) {
TString *usertype = usertypes[n]; // NULL if var_types[n] is not userdata TString *usertype = usertypes[n]; // NULL if var_types[n] is not userdata
/* we need to make sure that a register is assigned to 'v' /* we need to make sure that a register is assigned to 'v'
so that we can emit type assertion instructions. This would have so that we can emit type assertion instructions. This would have

Loading…
Cancel
Save