ANN Type known_type(const Env env, const Type_Decl*);
ANN m_bool env_access(const Env env, const ae_flag flag);
ANN void env_storage(const Env env, ae_flag* flag);
-ANN2(1,2) void env_add_value(const Env, const m_str, const Type, const m_bool, void*);
ANN void env_add_type(const Env, const Type);
ANN Type find_type(const Env, ID_List);
ANN m_bool already_defined(const Env env, const Symbol s, const uint pos);
ANN VM* gwi_vm(const Gwi);
ANN2(1,2) ANEW Type gwi_mk_type(const Gwi, const m_str, const m_uint, const Type);
ANN m_int gwi_add_type(const Gwi gwi, Type type);
-ANN2(1,2,3)m_int gwi_add_value(const Gwi gwi, const m_str name, Type type, const m_bool is_const, void* data);
-
ANN2(1,2)m_int gwi_class_ini(const Gwi gwi, const Type type, const f_xtor pre_ctor, const f_xtor dtor);
ANN m_int gwi_class_ext(const Gwi gwi, Type_Decl* td);
ANN m_int gwi_class_end(const Gwi gwi);
free_stmt(stmt);
return GW_OK;
}
-
-m_int gwi_add_value(Gwi gwi, const m_str name, Type type, const m_bool is_const, void* value) {
- env_add_value(gwi->env, name, type, is_const, value);
- return GW_OK;
-}
env->scope = scope;
}
-ANN2(1,2) void env_add_value(const Env env, const m_str name, const Type type,
- const m_bool is_const, void* data) {
- const Value v = new_value(env->gwion, type, name);
- ae_flag flag = ae_flag_checked | ae_flag_global | ae_flag_builtin | (is_const ? ae_flag_const : 0);
- v->flag = flag;
- v->d.ptr = data;
- v->owner = env->global_nspc;
- nspc_add_value(env->global_nspc, insert_symbol(name), v);
-}
-
ANN void env_add_type(const Env env, const Type type) {
const Type v_type = type_copy(t_class);
v_type->d.base_type = type;