summaryrefslogtreecommitdiff
path: root/src/webidl-ast.h
diff options
context:
space:
mode:
authorVincent Sanders <vincent.sanders@collabora.co.uk>2012-09-26 18:54:34 +0100
committerVincent Sanders <vincent.sanders@collabora.co.uk>2012-09-26 18:54:34 +0100
commitcaf565eb318cdf19a1d5e4b4bab7cd462301efef (patch)
treea2d1757530af5d385b07e4d77ab2d8745cdf88c5 /src/webidl-ast.h
parent74ea37fbd83a0d381ae928c7f7e30d0ded875cc0 (diff)
downloadnsgenbind-caf565eb318cdf19a1d5e4b4bab7cd462301efef.tar.gz
nsgenbind-caf565eb318cdf19a1d5e4b4bab7cd462301efef.tar.bz2
add modifier to allow setting of readonly or unsigned etc.
add property getter/setter body
Diffstat (limited to 'src/webidl-ast.h')
-rw-r--r--src/webidl-ast.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/webidl-ast.h b/src/webidl-ast.h
index ac3586f..7f21df5 100644
--- a/src/webidl-ast.h
+++ b/src/webidl-ast.h
@@ -10,10 +10,16 @@
#define genjsbind_webidl_ast_h
enum webidl_node_type {
+ /* generic node types which define structure or attributes */
WEBIDL_NODE_TYPE_ROOT = 0,
WEBIDL_NODE_TYPE_IDENT,
+ /** access modifier e.g. for attributes or types */
+ WEBIDL_NODE_TYPE_MODIFIER,
+ /** a list of nodes (interface members, arguments) */
+ WEBIDL_NODE_TYPE_LIST,
+
+ /* non structural node types */
WEBIDL_NODE_TYPE_INTERFACE,
- WEBIDL_NODE_TYPE_LIST, /* a list of nodes (interface members, arguments) */
WEBIDL_NODE_TYPE_INTERFACE_INHERITANCE,
WEBIDL_NODE_TYPE_ATTRIBUTE,
WEBIDL_NODE_TYPE_OPERATION,
@@ -22,10 +28,10 @@ enum webidl_node_type {
WEBIDL_NODE_TYPE_ELLIPSIS,
WEBIDL_NODE_TYPE_TYPE,
WEBIDL_NODE_TYPE_TYPE_BASE,
- WEBIDL_NODE_TYPE_TYPE_MODIFIER,
};
enum webidl_type {
+ WEBIDL_TYPE_USER,
WEBIDL_TYPE_BOOL,
WEBIDL_TYPE_BYTE,
WEBIDL_TYPE_OCTET,
@@ -38,13 +44,13 @@ enum webidl_type {
WEBIDL_TYPE_SEQUENCE,
WEBIDL_TYPE_OBJECT,
WEBIDL_TYPE_DATE,
- WEBIDL_TYPE_USER,
WEBIDL_TYPE_VOID,
};
enum webidl_type_modifier {
WEBIDL_TYPE_MODIFIER_UNSIGNED,
WEBIDL_TYPE_MODIFIER_UNRESTRICTED,
+ WEBIDL_TYPE_READONLY,
};
struct webidl_node;
@@ -66,6 +72,7 @@ struct webidl_node *webidl_add_interface_member(struct webidl_node *list, struct
/* node contents acessors */
char *webidl_node_gettext(struct webidl_node *node);
struct webidl_node *webidl_node_getnode(struct webidl_node *node);
+int webidl_node_getint(struct webidl_node *node);
/* node searches */