projects
/
m6w6
/
ext-psi
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
update readme
[m6w6/ext-psi]
/
src
/
types
/
decl_struct.h
diff --git
a/src/types/decl_struct.h
b/src/types/decl_struct.h
index e72aa38ebc6a427ebcd2c252e2bb38696c57602f..7c379aae2d1c1b7bc7bbd6be14e3954f16f72cbe 100644
(file)
--- a/
src/types/decl_struct.h
+++ b/
src/types/decl_struct.h
@@
-26,30
+26,27
@@
#ifndef PSI_TYPES_DECL_STRUCT_H
#define PSI_TYPES_DECL_STRUCT_H
#ifndef PSI_TYPES_DECL_STRUCT_H
#define PSI_TYPES_DECL_STRUCT_H
-#include "decl_args.h"
+struct psi_data;
+struct psi_token;
+struct psi_plist;
+struct psi_decl_var;
+struct psi_validate_scope;
-
typedef struct
decl_struct {
+
struct psi_
decl_struct {
struct psi_token *token;
struct psi_token *token;
-
char
*name;
-
decl_args
*args;
+
zend_string
*name;
+
struct psi_plist
*args;
size_t size;
size_t align;
size_t size;
size_t align;
- struct {
- void *type;
- void (*dtor)(void *type);
- } engine;
-} decl_struct;
-
-decl_struct *init_decl_struct(const char *name, decl_args *args);
-void free_decl_struct(decl_struct *s);
-void dump_decl_struct(int fd, decl_struct *strct);
+};
-
decl_arg *locate_decl_struct_member(decl_struct *s, decl_var *var
);
-
-
struct psi_data
;
+
struct psi_decl_struct *psi_decl_struct_init(zend_string *name, struct psi_plist *args
);
+void psi_decl_struct_free(struct psi_decl_struct **s_ptr);
+
void psi_decl_struct_dump(struct psi_dump *dump, struct psi_decl_struct *strct)
;
-
int validate_decl_struct(struct psi_data *data, decl_struct *s
);
+
bool psi_decl_struct_validate(struct psi_data *data, struct psi_decl_struct *s, struct psi_validate_scope *scope
);
-size_t alignof_decl_struct(decl_struct *s);
+struct psi_decl_arg *psi_decl_struct_get_arg(struct psi_decl_struct *s, struct psi_decl_var *var);
+size_t psi_decl_struct_get_align(struct psi_decl_struct *s);
#endif
#endif