+static inline impl_val *psi_let_func(let_func *func, decl_arg *darg) {
+ impl_arg *iarg = NULL;
+
+ if (0 && func->inner) {
+ size_t i;
+
+ for (i = 0; i < func->inner->count; ++i) {
+ let_val *inner = func->inner->vals[i];
+ decl_arg *ref = NULL;
+
+ switch (inner->kind) {
+ case PSI_LET_CALLBACK:
+ ref = inner->data.callback->func->ref;
+ break;
+ case PSI_LET_FUNC:
+ ref = inner->data.func->ref;
+ break;
+ EMPTY_SWITCH_DEFAULT_CASE();
+ }
+
+ psi_let_val(inner, ref);
+ }
+ }
+
+ return darg->ptr = func->handler(darg->ptr, darg->type, func->var->arg, &darg->mem);
+
+}
+
+static inline void *psi_do_let(let_stmt *let)
+{
+ return psi_let_val(let->val, let->var->arg);
+}
+