X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Ftypes%2Fimpl.c;h=e987147ac9848a2971234b6f631bb34e14707dcf;hp=e9bd39bebec5723c636a5731e10e7043cca91e5e;hb=c9384515a81cb64d345b299908b2852f51bb8e6e;hpb=b029005e56a8913fbb3d17ab497b4a37a00a211c diff --git a/src/types/impl.c b/src/types/impl.c index e9bd39b..e987147 100644 --- a/src/types/impl.c +++ b/src/types/impl.c @@ -116,24 +116,27 @@ void psi_impl_dump(int fd, struct psi_impl *impl) dprintf(fd, "}\n"); } -bool psi_impl_validate(struct psi_data *data, struct psi_impl *impl) +bool psi_impl_validate(struct psi_data *data, struct psi_impl *impl, + struct psi_validate_scope *scope) { - if (!psi_impl_func_validate(data, impl->func)) { + scope->impl = impl; + + if (!psi_impl_func_validate(data, impl->func, scope)) { return false; } - if (!psi_return_stmt_validate(data, impl)) { + if (!psi_return_stmt_validate(data, scope)) { return false; } - if (!psi_let_stmts_validate(data, impl)) { + if (!psi_let_stmts_validate(data, scope)) { return false; } - if (!psi_set_stmts_validate(data, impl)) { + if (!psi_set_stmts_validate(data, scope)) { return false; } - if (!psi_assert_stmts_validate(data, impl)) { + if (!psi_assert_stmts_validate(data, scope)) { return false; } - if (!psi_free_stmts_validate(data, impl)) { + if (!psi_free_stmts_validate(data, scope)) { return false; } return true;