flush
[m6w6/ext-psi] / idl / validator.c
index 54e646842e1b26586753a81a1f7dfc9f78e82e25..87951ebb32e0c44de4e81aa4da073daaf9940a1a 100644 (file)
@@ -6,32 +6,21 @@
 
 #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));
 }
 
@@ -212,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;