X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=idl%2Fvalidator.c;h=87951ebb32e0c44de4e81aa4da073daaf9940a1a;hp=e81d92315a9abadc8760adb23d2490f3b53be5f8;hb=e87ed355e2944460141e24bf24c2e5b9afe0c1f7;hpb=ca787916893fd2124a4dd72d326e3435fad5b9c8 diff --git a/idl/validator.c b/idl/validator.c index e81d923..87951eb 100644 --- a/idl/validator.c +++ b/idl/validator.c @@ -6,43 +6,21 @@ #include "validator.h" -#if INTERFACE -typedef struct PSI_Validator { - decl_typedefs *defs; - decls *decls; - impls *impls; - char *lib; - char *fn; - void *dlopened; -} PSI_Validator; -#endif - -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)); } @@ -223,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;