From 2bfd4d2720b55df0141189633ef6fae530663d04 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 21 Nov 2012 16:18:37 +0000 Subject: name and docuemnt the binding property attribute --- src/jsapi-libdom-property.c | 6 +++--- src/nsgenbind-ast.c | 6 +++--- src/nsgenbind-ast.h | 2 +- src/nsgenbind-lexer.l | 2 ++ src/nsgenbind-parser.y | 24 +++++++++++++++--------- 5 files changed, 24 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/jsapi-libdom-property.c b/src/jsapi-libdom-property.c index 5502030..2bfb591 100644 --- a/src/jsapi-libdom-property.c +++ b/src/jsapi-libdom-property.c @@ -31,14 +31,14 @@ get_binding_shared_modifier(struct binding *binding, const char *type, const cha /* look for node matching the ident first */ shared_node = genbind_node_find_type_ident(binding->binding_list, NULL, - GENBIND_NODE_TYPE_BINDING_SHARED, + GENBIND_NODE_TYPE_BINDING_PROPERTY, ident); /* look for a node matching the type */ if (shared_node == NULL) { shared_node = genbind_node_find_type_ident(binding->binding_list, NULL, - GENBIND_NODE_TYPE_BINDING_SHARED, + GENBIND_NODE_TYPE_BINDING_PROPERTY, type); } @@ -779,7 +779,7 @@ output_property_body(struct binding *binding) if (res == 0) { res = genbind_node_for_each_type(binding->binding_list, - GENBIND_NODE_TYPE_BINDING_SHARED, + GENBIND_NODE_TYPE_BINDING_PROPERTY, typehandler_property_cb, binding); } diff --git a/src/nsgenbind-ast.c b/src/nsgenbind-ast.c index fba7dcb..f5cdc78 100644 --- a/src/nsgenbind-ast.c +++ b/src/nsgenbind-ast.c @@ -228,7 +228,7 @@ struct genbind_node *genbind_node_getnode(struct genbind_node *node) case GENBIND_NODE_TYPE_BINDING: case GENBIND_NODE_TYPE_BINDING_PRIVATE: case GENBIND_NODE_TYPE_BINDING_INTERNAL: - case GENBIND_NODE_TYPE_BINDING_SHARED: + case GENBIND_NODE_TYPE_BINDING_PROPERTY: case GENBIND_NODE_TYPE_OPERATION: case GENBIND_NODE_TYPE_API: case GENBIND_NODE_TYPE_GETTER: @@ -294,8 +294,8 @@ static const char *genbind_node_type_to_str(enum genbind_node_type type) case GENBIND_NODE_TYPE_BINDING_INTERFACE: return "Interface"; - case GENBIND_NODE_TYPE_BINDING_SHARED: - return "Shared"; + case GENBIND_NODE_TYPE_BINDING_PROPERTY: + return "Property"; case GENBIND_NODE_TYPE_OPERATION: return "Operation"; diff --git a/src/nsgenbind-ast.h b/src/nsgenbind-ast.h index cddf608..6368519 100644 --- a/src/nsgenbind-ast.h +++ b/src/nsgenbind-ast.h @@ -24,7 +24,7 @@ enum genbind_node_type { GENBIND_NODE_TYPE_BINDING_PRIVATE, GENBIND_NODE_TYPE_BINDING_INTERNAL, GENBIND_NODE_TYPE_BINDING_INTERFACE, - GENBIND_NODE_TYPE_BINDING_SHARED, + GENBIND_NODE_TYPE_BINDING_PROPERTY, GENBIND_NODE_TYPE_API, GENBIND_NODE_TYPE_OPERATION, GENBIND_NODE_TYPE_GETTER, diff --git a/src/nsgenbind-lexer.l b/src/nsgenbind-lexer.l index 313d37b..e1c7740 100644 --- a/src/nsgenbind-lexer.l +++ b/src/nsgenbind-lexer.l @@ -100,6 +100,8 @@ unshared return TOK_UNSHARED; shared return TOK_SHARED; +property return TOK_PROPERTY; + operation return TOK_OPERATION; api return TOK_API; diff --git a/src/nsgenbind-parser.y b/src/nsgenbind-parser.y index b104f2f..984513e 100644 --- a/src/nsgenbind-parser.y +++ b/src/nsgenbind-parser.y @@ -36,7 +36,7 @@ char *errtxt; { char* text; struct genbind_node *node; - int number; + long value; } %token TOK_IDLFILE @@ -54,6 +54,7 @@ char *errtxt; %token TOK_INTERNAL %token TOK_UNSHARED %token TOK_SHARED +%token TOK_PROPERTY %token TOK_IDENTIFIER %token TOK_STRING_LITERAL @@ -61,8 +62,8 @@ char *errtxt; %type CBlock -%type Modifiers -%type Modifier +%type Modifiers +%type Modifier %type Statement %type Statements @@ -77,7 +78,7 @@ char *errtxt; %type Private %type Internal %type Interface -%type Shared +%type Property %type Operation %type Api %type Getter @@ -261,7 +262,7 @@ BindingArg | Interface | - Shared + Property ; Type @@ -300,11 +301,11 @@ Interface } ; -Shared +Property : - TOK_SHARED Modifiers TOK_IDENTIFIER ';' + TOK_PROPERTY Modifiers TOK_IDENTIFIER ';' { - $$ = genbind_new_node(GENBIND_NODE_TYPE_BINDING_SHARED, + $$ = genbind_new_node(GENBIND_NODE_TYPE_BINDING_PROPERTY, NULL, genbind_new_node(GENBIND_NODE_TYPE_MODIFIER, genbind_new_node(GENBIND_NODE_TYPE_IDENT, @@ -318,7 +319,7 @@ Modifiers : /* empty */ { - $$ = 0; + $$ = GENBIND_TYPE_NONE; } | Modifiers Modifier @@ -338,6 +339,11 @@ Modifier { $$ = GENBIND_TYPE_UNSHARED; } + | + TOK_SHARED + { + $$ = GENBIND_TYPE_NONE; + } ; %% -- cgit v1.2.3