From cf89528fc6668e6d07b6e99db0069c9fe1f6e05d Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Sun, 2 Aug 2015 18:30:18 +0100 Subject: Update the webidl parser to cope with specials and overloaded methods --- src/webidl-ast.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/webidl-ast.h') 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 * -- cgit v1.2.3