nsgenbind
Loading...
Searching...
No Matches
nsgenbind-ast.h
Go to the documentation of this file.
1/* binding file AST interface
2 *
3 * This file is part of nsnsgenbind.
4 * Licensed under the MIT License,
5 * http://www.opensource.org/licenses/mit-license.php
6 * Copyright 2012 Vincent Sanders <vince@netsurf-browser.org>
7 */
8
9#ifndef nsgenbind_nsgenbind_ast_h
10#define nsgenbind_nsgenbind_ast_h
11
36
37/* modifier flags */
44
45/* binding method types */
58
59struct genbind_node;
60
62typedef int (genbind_callback_t)(struct genbind_node *node, void *ctx);
63
64int genbind_fprintf(FILE *stream, const char *format, ...);
65
66int genbind_cmp_node_type(struct genbind_node *node, void *ctx);
67
68FILE *genbindopen(const char *filename);
69
70int genbind_parsefile(char *infilename, struct genbind_node **ast);
71
72char *genbind_strapp(char *a, char *b);
73
78
85
86struct genbind_node *genbind_node_link(struct genbind_node *tgt, struct genbind_node *src);
87
88struct genbind_node *genbind_node_prepend(struct genbind_node *list, struct genbind_node *inst);
89
90struct genbind_node *genbind_node_add(struct genbind_node *node, struct genbind_node *list);
91
102
113struct genbind_node *
115 struct genbind_node *prev,
117 void *ctx);
118
129struct genbind_node *
131 struct genbind_node *prev,
132 enum genbind_node_type nodetype);
133
145int
148
149
161struct genbind_node *
163 struct genbind_node *prev,
164 enum genbind_node_type nodetype,
165 const char *ident);
166
167
178struct genbind_node *
180 struct genbind_node *prev,
181 enum genbind_method_type methodtype);
182
183
195struct genbind_node *
197 struct genbind_node *prev,
198 enum genbind_method_type methodtype,
199 const char *ident);
200
201
213 void *ctx);
214
221
229
237
238#endif
DOMString filename
Definition html.idl:1561
struct genbind_node * genbind_node_find_type_ident(struct genbind_node *node, struct genbind_node *prev, enum genbind_node_type nodetype, const char *ident)
struct genbind_node * genbind_node_prepend(struct genbind_node *list, struct genbind_node *inst)
struct genbind_node * genbind_node_find_type(struct genbind_node *node, struct genbind_node *prev, enum genbind_node_type nodetype)
struct genbind_node * genbind_node_find(struct genbind_node *node, struct genbind_node *prev, genbind_callback_t *cb, void *ctx)
int genbind_parsefile(char *infilename, struct genbind_node **ast)
int genbind_dump_ast(struct genbind_node *node)
genbind_type_modifier
@ GENBIND_TYPE_TYPE
@ GENBIND_TYPE_TYPE_UNSHARED
@ GENBIND_TYPE_NONE
@ GENBIND_TYPE_UNSHARED
int * genbind_node_getint(struct genbind_node *node)
genbind_method_type
@ GENBIND_METHOD_TYPE_INIT
@ GENBIND_METHOD_TYPE_PREFACE
@ GENBIND_METHOD_TYPE_METHOD
@ GENBIND_METHOD_TYPE_SETTER
@ GENBIND_METHOD_TYPE_PROLOGUE
@ GENBIND_METHOD_TYPE_GETTER
@ GENBIND_METHOD_TYPE_POSTFACE
@ GENBIND_METHOD_TYPE_PROTOTYPE
@ GENBIND_METHOD_TYPE_EPILOGUE
@ GENBIND_METHOD_TYPE_FINI
struct genbind_node * genbind_node_find_method(struct genbind_node *node, struct genbind_node *prev, enum genbind_method_type methodtype)
struct genbind_node * genbind_new_node(enum genbind_node_type type, struct genbind_node *l, void *r)
struct genbind_node * genbind_new_number_node(enum genbind_node_type type, struct genbind_node *l, int number)
struct genbind_node * genbind_node_getnode(struct genbind_node *node)
FILE * genbindopen(const char *filename)
char * genbind_node_gettext(struct genbind_node *node)
struct genbind_node * genbind_node_link(struct genbind_node *tgt, struct genbind_node *src)
int genbind_cmp_node_type(struct genbind_node *node, void *ctx)
genbind_node_type
@ GENBIND_NODE_TYPE_PARAMETER
@ GENBIND_NODE_TYPE_BINDING
@ GENBIND_NODE_TYPE_INTERNAL
@ GENBIND_NODE_TYPE_ROOT
@ GENBIND_NODE_TYPE_MODIFIER
@ GENBIND_NODE_TYPE_WEBIDL
@ GENBIND_NODE_TYPE_METHOD_TYPE
@ GENBIND_NODE_TYPE_NAME
@ GENBIND_NODE_TYPE_STRING
@ GENBIND_NODE_TYPE_FLAGS
@ GENBIND_NODE_TYPE_CLASS
@ GENBIND_NODE_TYPE_METHOD
@ GENBIND_NODE_TYPE_PROPERTY
@ GENBIND_NODE_TYPE_IDENT
@ GENBIND_NODE_TYPE_PRIVATE
@ GENBIND_NODE_TYPE_CDATA
@ GENBIND_NODE_TYPE_LINE
@ GENBIND_NODE_TYPE_FILE
struct genbind_node * genbind_node_add(struct genbind_node *node, struct genbind_node *list)
int genbind_node_enumerate_type(struct genbind_node *node, enum genbind_node_type type)
int genbind_node_foreach_type(struct genbind_node *node, enum genbind_node_type type, genbind_callback_t *cb, void *ctx)
int genbind_fprintf(FILE *stream, const char *format,...)
char * genbind_strapp(char *a, char *b)
int() genbind_callback_t(struct genbind_node *node, void *ctx)
struct genbind_node * genbind_node_find_method_ident(struct genbind_node *node, struct genbind_node *prev, enum genbind_method_type methodtype, const char *ident)
struct genbind_node * node
struct genbind_node * l
enum genbind_node_type type
union genbind_node::@3 r