]> Nishi Git Mirror - gwion.git/commitdiff
:art: Improve cond_type
authorfennecdjay <astor.jeremie@wanadoo.fr>
Tue, 1 Oct 2019 23:37:22 +0000 (01:37 +0200)
committerfennecdjay <astor.jeremie@wanadoo.fr>
Tue, 1 Oct 2019 23:37:22 +0000 (01:37 +0200)
src/parse/check.c

index 50c22a09b2cbb8336c20402f09f733bf2ac54253..d6e94243e2e78b93ba7f71d98ff2b80606d2433a 100644 (file)
@@ -58,7 +58,9 @@ ANN m_bool check_subscripts(Env env, const Array_Sub array) {
   CHECK_OB(check_exp(env, array->exp))
   m_uint depth = 0;
   Exp e = array->exp;
-  do if(isa(e->type, env->gwion->type[et_int]) < 0)
+  // TODO: use check_internal @access
+  const Type t_int = env->gwion->type[et_int];
+  do if(isa(e->type, t_int) < 0)
     ERR_B(e->pos, _("array index %i must be of type 'int', not '%s'"),
        depth, e->type->name)
   while(++(depth) && (e = e->next));
@@ -1039,7 +1041,9 @@ ANN static m_bool do_stmt_auto(const Env env, const Stmt_Auto stmt) {
 }
 
 ANN static inline m_bool cond_type(const Env env, const Exp e) {
-  return _check_implicit(env, "@repeat", e, env->gwion->type[et_int]);
+  const m_str str = "@repeat";
+  const Type t_int = env->gwion->type[et_int];
+  return _check_implicit(env, str, e, t_int);
 }
 
 #define stmt_func_xxx(name, type, prolog, exp) describe_stmt_func(check, name, type, prolog, exp)