flush
[m6w6/ext-psi] / idl / validator.c
index d2b7cfee94221c38c8b248045fff24a0d5a626f9..87951ebb32e0c44de4e81aa4da073daaf9940a1a 100644 (file)
@@ -3,37 +3,24 @@
 #include <string.h>
 #include <dlfcn.h>
 #include <sys/param.h>
-#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;