diff options
author | Vincent Sanders <vincent.sanders@collabora.co.uk> | 2012-10-11 18:52:30 +0100 |
---|---|---|
committer | Vincent Sanders <vincent.sanders@collabora.co.uk> | 2012-10-11 18:52:30 +0100 |
commit | b5c56b56cebe3f46c05823300783d1c88c02f12e (patch) | |
tree | 1d07ed50e320934c46415c092b008051b0131b4a /src/webidl-ast.c | |
parent | d3b66100f5fc6459d9d466e20bf0b2054d617b85 (diff) | |
download | nsgenbind-b5c56b56cebe3f46c05823300783d1c88c02f12e.tar.gz nsgenbind-b5c56b56cebe3f46c05823300783d1c88c02f12e.tar.bz2 |
construct input variables
Diffstat (limited to 'src/webidl-ast.c')
-rw-r--r-- | src/webidl-ast.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/webidl-ast.c b/src/webidl-ast.c index 084c199..75dbdeb 100644 --- a/src/webidl-ast.c +++ b/src/webidl-ast.c @@ -137,6 +137,14 @@ webidl_node_for_each_type(struct webidl_node *node, } /* exported interface defined in genjsbind-ast.h */ +int webidl_cmp_node_type(struct webidl_node *node, void *ctx) +{ + if (node->type == (enum webidl_node_type)ctx) + return 1; + return 0; +} + +/* exported interface defined in genjsbind-ast.h */ struct webidl_node * webidl_node_find(struct webidl_node *node, struct webidl_node *prev, @@ -163,13 +171,20 @@ webidl_node_find(struct webidl_node *node, return NULL; } -int webidl_cmp_node_type(struct webidl_node *node, void *ctx) + +/* exported interface defined in genjsbind-ast.h */ +struct webidl_node * +webidl_node_find_type(struct webidl_node *node, + struct webidl_node *prev, + enum webidl_node_type type) { - if (node->type == (enum webidl_node_type)ctx) - return 1; - return 0; + return webidl_node_find(node, + prev, + webidl_cmp_node_type, + (void *)type); } + struct webidl_node * webidl_node_find_type_ident(struct webidl_node *root_node, enum webidl_node_type type, |