struct SpecialId_;
typedef Type (*idck)(const Env, const Exp_Primary*);
-typedef Instr (*idem)(const Emitter, const Exp_Primary*);
+typedef struct Instr_* (*idem)(const Emitter, const Exp_Primary*);
struct SpecialId_ {
Type type;
return spid->ck ? spid->ck(env, prim) : spid->type;
}
-ANN static inline Instr specialid_instr(const Emitter emit,
- struct SpecialId_ *spid, const Exp_Primary* prim) {
- return spid->exec ? emit_add_instr(emit, spid->exec) : spid->em(emit, prim);
-}
-
ANN struct SpecialId_* specialid_get(const Gwion, const Symbol);
#endif
return GW_OK;
}
+ANN static inline Instr specialid_instr(const Emitter emit,
+ struct SpecialId_ *spid, const Exp_Primary* prim) {
+ return spid->exec ? emit_add_instr(emit, spid->exec) : spid->em(emit, prim);
+}
+
ANN static m_bool emit_prim_id(const Emitter emit, const Symbol *data) {
struct SpecialId_ * spid = specialid_get(emit->gwion, *data);
if(spid)