if((f_instr)(m_uint)back->opcode == DotFunc || (f_instr)(m_uint)back->opcode == DotStaticFunc)
back->m_val = f->vt_index;
}
- if(GET_FLAG(f, member) && isa(actual_type(f->value_ref->type), t_fptr) > 0) {
+ if(vector_size(&emit->code->instr) && GET_FLAG(f, member) &&
+ isa(actual_type(f->value_ref->type), t_fptr) > 0) {
const Instr back = (Instr)vector_back(&emit->code->instr);
m_bit exec = back->opcode;
m_uint val = back->m_val;
#include "parse.h"
#include "traverse.h"
-ANN m_bool scan0_class_def(const Env, const Class_Def);
-ANN /* static */ m_bool scan1_exp(const Env env, Exp exp);
ANN static m_bool scan1_stmt_list(const Env env, Stmt_List list);
-ANN m_bool scan1_class_def(const Env, const Class_Def);
ANN static m_bool scan1_stmt(const Env env, Stmt stmt);
ANN static Type void_type(const Env env, const Type_Decl* td) {
}
}
decl->base = t->def;
- decl->type = t;
- return t;
+ return decl->type = t;
}
ANN m_bool scan1_exp_decl(const Env env, const Exp_Decl* decl) {