X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=idl%2Fvalidator.c;h=87951ebb32e0c44de4e81aa4da073daaf9940a1a;hp=d2b7cfee94221c38c8b248045fff24a0d5a626f9;hb=9e0411db099e71409f0ee8a8f464aa34ac65c778;hpb=059fffcaee65cf92b95bdbe91e5a156b89b2cf71 diff --git a/idl/validator.c b/idl/validator.c index d2b7cfe..87951eb 100644 --- a/idl/validator.c +++ b/idl/validator.c @@ -3,37 +3,24 @@ #include #include #include -#include "lexer.h" -#include "parser.h" -#include "types.h" + #include "validator.h" -PSI_Validator *PSI_ValidatorInit(PSI_Validator *V, PSI_Lexer *L) +PSI_Validator *PSI_ValidatorInit(PSI_Validator *V, PSI_Parser *P) { if (!V) { V = malloc(sizeof(*V)); } memset(V, 0, sizeof(*V)); - PSI_DataExchange((PSI_Data *) V, (PSI_Data *) L); + PSI_DataExchange((PSI_Data *) V, (PSI_Data *) P); return V; } void PSI_ValidatorDtor(PSI_Validator *V) { - if (V->defs) { - free_decl_typedefs(V->defs); - } - if (V->decls) { - free_decls(V->decls); - } - if (V->impls) { - free_impls(V->impls); - } - if (V->fn) { - free(V->fn); - } + PSI_DataDtor((PSI_Data *) V); memset(V, 0, sizeof(*V)); } @@ -214,6 +201,9 @@ static inline int validate_impl_func(PSI_Validator *V, impl *impl, impl_func *fu } return 1; } +static inline int validate_impl_stmts(PSI_Validator *V, impl *impl, impl_stmts *stmts) { + return 1; +} static inline int validate_impl(PSI_Validator *V, impl *impl) { if (!validate_impl_func(V, impl, impl->func)) { return 0;