summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Sanders <vincent.sanders@collabora.co.uk>2012-11-20 13:50:52 +0000
committerVincent Sanders <vincent.sanders@collabora.co.uk>2012-11-20 13:50:52 +0000
commit6fdf1ace46adff8e9cd774fd7d8d06266996d51e (patch)
tree57d5ff394cc3db9ed81930f597ff1ab3928cc0e9
parente510204a381a7253d2cf69deeed01b043a4b80ad (diff)
downloadnsgenbind-6fdf1ace46adff8e9cd774fd7d8d06266996d51e.tar.gz
nsgenbind-6fdf1ace46adff8e9cd774fd7d8d06266996d51e.tar.bz2
allow unshared parameter to accept property names as well as types
-rw-r--r--src/nsgenbind-parser.y6
-rw-r--r--test/data/bindings/window.bnd1
2 files changed, 7 insertions, 0 deletions
diff --git a/src/nsgenbind-parser.y b/src/nsgenbind-parser.y
index e64d255..6364bf7 100644
--- a/src/nsgenbind-parser.y
+++ b/src/nsgenbind-parser.y
@@ -301,5 +301,11 @@ Unshared
$$ = genbind_new_node(GENBIND_NODE_TYPE_BINDING_UNSHARED, NULL,
genbind_new_node(GENBIND_NODE_TYPE_TYPE, NULL, $3));
}
+ |
+ TOK_UNSHARED TOK_IDENTIFIER ';'
+ {
+ $$ = genbind_new_node(GENBIND_NODE_TYPE_BINDING_UNSHARED, NULL,
+ genbind_new_node(GENBIND_NODE_TYPE_IDENT, NULL, $2));
+ }
;
%%
diff --git a/test/data/bindings/window.bnd b/test/data/bindings/window.bnd
index b843aaf..42b40f4 100644
--- a/test/data/bindings/window.bnd
+++ b/test/data/bindings/window.bnd
@@ -32,6 +32,7 @@ binding window {
internal "JSObject *" location;
unshared type EventHandler;
+ unshared foo;
}
api mark %{