diff options
author | Vincent Sanders <vince@kyllikki.org> | 2015-08-02 18:30:18 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2015-08-02 18:30:18 +0100 |
commit | cf89528fc6668e6d07b6e99db0069c9fe1f6e05d (patch) | |
tree | ba537f31127428c54b70d8cc9a190b3702f0f8b3 /src/webidl-ast.h | |
parent | 6fb336e6587d550bf4a8355e65923efb0bf14cab (diff) | |
download | nsgenbind-cf89528fc6668e6d07b6e99db0069c9fe1f6e05d.tar.gz nsgenbind-cf89528fc6668e6d07b6e99db0069c9fe1f6e05d.tar.bz2 |
Update the webidl parser to cope with specials and overloaded methods
Diffstat (limited to 'src/webidl-ast.h')
-rw-r--r-- | src/webidl-ast.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/webidl-ast.h b/src/webidl-ast.h index 38968f3..c17a54b 100644 --- a/src/webidl-ast.h +++ b/src/webidl-ast.h @@ -27,7 +27,8 @@ enum webidl_node_type { WEBIDL_NODE_TYPE_OPERATION, WEBIDL_NODE_TYPE_CONST, - WEBIDL_NODE_TYPE_OPTIONAL_ARGUMENT, + WEBIDL_NODE_TYPE_SPECIAL, + WEBIDL_NODE_TYPE_OPTIONAL_ARGUMENT, WEBIDL_NODE_TYPE_ARGUMENT, WEBIDL_NODE_TYPE_ELLIPSIS, WEBIDL_NODE_TYPE_TYPE, @@ -68,6 +69,15 @@ enum webidl_type_modifier { WEBIDL_TYPE_MODIFIER_READONLY, }; +/* the type of special node */ +enum webidl_type_special { + WEBIDL_TYPE_SPECIAL_GETTER, + WEBIDL_TYPE_SPECIAL_SETTER, + WEBIDL_TYPE_SPECIAL_CREATOR, + WEBIDL_TYPE_SPECIAL_DELETER, + WEBIDL_TYPE_SPECIAL_LEGACYCALLER, +}; + struct webidl_node; /** callback for search and iteration routines */ @@ -114,7 +124,7 @@ webidl_node_find(struct webidl_node *node, struct webidl_node * webidl_node_find_type(struct webidl_node *node, - struct webidl_node *prev, + struct webidl_node *prev, enum webidl_node_type type); struct webidl_node * |