basic support for builtins
[m6w6/ext-psi] / src / types / decl_enum.h
index 69d1ee4be4150a3feab7d3befba9339a2bf02a9d..fd51d71b1ee7426a0e8373c7609af34171523c96 100644 (file)
 #ifndef PSI_TYPES_DECL_ENUM_H
 #define PSI_TYPES_DECL_ENUM_H
 
-#include "token.h"
-#include "decl_enum_items.h"
-
-typedef struct decl_enum {
-       struct psi_token *token;
-       char *name;
-       decl_enum_items *items;
-} decl_enum;
-
-decl_enum *init_decl_enum(const char *name, decl_enum_items *l);
-void free_decl_enum(decl_enum *e);
-void dump_decl_enum(int fd, decl_enum *e, unsigned level);
-
 struct psi_data;
+struct psi_token;
+struct psi_plist;
 
-int validate_decl_enum(struct psi_data *data, decl_enum *e);
+struct psi_decl_enum {
+       struct psi_token *token;
+       zend_string *name;
+       struct psi_plist *items;
+};
+
+struct psi_decl_enum *psi_decl_enum_init(zend_string *name, struct psi_plist *l);
+void psi_decl_enum_free(struct psi_decl_enum **e_ptr);
+void psi_decl_enum_dump(int fd, struct psi_decl_enum *e, unsigned level);
+bool psi_decl_enum_validate(struct psi_data *data, struct psi_decl_enum *e);
 
 #endif