diff options
author | Vincent Sanders <vince@kyllikki.org> | 2012-10-31 01:20:20 +0000 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2012-10-31 01:20:20 +0000 |
commit | 65e49e23019a97d51702077c82613c6c26e84033 (patch) | |
tree | f21ba90ba9dc08826ef687f9bd148e6345fd673a /src/webidl-ast.c | |
parent | 26bbe37c6f0b99f23736380ba55f156f22bdaf06 (diff) | |
download | nsgenbind-65e49e23019a97d51702077c82613c6c26e84033.tar.gz nsgenbind-65e49e23019a97d51702077c82613c6c26e84033.tar.bz2 |
implement the "implements" webidl directive
Diffstat (limited to 'src/webidl-ast.c')
-rw-r--r-- | src/webidl-ast.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/webidl-ast.c b/src/webidl-ast.c index fef5f35..a1f2276 100644 --- a/src/webidl-ast.c +++ b/src/webidl-ast.c @@ -193,26 +193,19 @@ webidl_node_find_type_ident(struct webidl_node *root_node, struct webidl_node *node; struct webidl_node *ident_node; - node = webidl_node_find(root_node, - NULL, - webidl_cmp_node_type, - (void *)type); + node = webidl_node_find_type(root_node, NULL, type); while (node != NULL) { - ident_node = webidl_node_find(webidl_node_getnode(node), + ident_node = webidl_node_find_type(webidl_node_getnode(node), NULL, - webidl_cmp_node_type, - (void *)WEBIDL_NODE_TYPE_IDENT); + WEBIDL_NODE_TYPE_IDENT); if (ident_node != NULL) { if (strcmp(ident_node->r.text, ident) == 0) break; } - node = webidl_node_find(root_node, - node, - webidl_cmp_node_type, - (void *)type); + node = webidl_node_find_type(root_node, node, type); } return node; @@ -224,7 +217,7 @@ char *webidl_node_gettext(struct webidl_node *node) switch(node->type) { case WEBIDL_NODE_TYPE_IDENT: case WEBIDL_NODE_TYPE_INTERFACE_INHERITANCE: - + case WEBIDL_NODE_TYPE_INTERFACE_IMPLEMENTS: return node->r.text; default: @@ -289,6 +282,9 @@ static const char *webidl_node_type_to_str(enum webidl_node_type type) case WEBIDL_NODE_TYPE_INTERFACE_INHERITANCE: return "Inherit"; + case WEBIDL_NODE_TYPE_INTERFACE_IMPLEMENTS: + return "Implements"; + case WEBIDL_NODE_TYPE_INTERFACE: return "Interface"; |