*ixed a method invoking issue when met from meta class.

This commit is contained in:
paladin-t 2015-12-17 16:53:56 +08:00
parent a9219bb31b
commit c03b5d462e
2 changed files with 6 additions and 1 deletions

View File

@ -1,6 +1,7 @@
Dec. 17 2015
Added support to evaluate a sub routine by an accessor in a PRINT statement
Added support to get a value by an accessor in a PRINT statement
Fixed a method invoking issue when met from meta class
Dec. 15 2015
Added a pair of mb_begin_class/mb_end_class functions

View File

@ -2715,6 +2715,7 @@ int _calc_expression(mb_interpreter_t* s, _ls_node_t** l, _object_t** val) {
_ls_pushback(opnd, c);
f++;
} else if(c->type == _DT_ROUTINE) {
_routine:
ast = ast->prev;
result = _eval_routine(s, &ast, 0, 0, c->data.routine, _has_routine_lex_arg, _pop_routine_lex_arg);
if(ast)
@ -2772,8 +2773,11 @@ int _calc_expression(mb_interpreter_t* s, _ls_node_t** l, _object_t** val) {
#endif /* MB_ENABLE_CLASS */
0
);
if(cs)
if(cs) {
c = (_object_t*)(cs->data);
if(c && c->type == _DT_ROUTINE)
goto _routine;
}
if(ast) {
_object_t* _err_var = (_object_t*)(ast->data);
if(_IS_FUNC(_err_var, _core_open_bracket)) {