flush
[m6w6/ext-psi] / idl / validator.c
index e81d92315a9abadc8760adb23d2490f3b53be5f8..87951ebb32e0c44de4e81aa4da073daaf9940a1a 100644 (file)
@@ -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;