diff options
author | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-07 19:06:40 +0000 |
---|---|---|
committer | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-07 19:06:40 +0000 |
commit | 118f08f84570bfeacaa4208b75db4b24c75479dd (patch) | |
tree | 3e1bad4969e879318e7c169b3720e93f49191c75 /mojo | |
parent | 02cf2e0410d89679739d8c7f077d2a96d2a6f482 (diff) | |
download | chromium_src-118f08f84570bfeacaa4208b75db4b24c75479dd.zip chromium_src-118f08f84570bfeacaa4208b75db4b24c75479dd.tar.gz chromium_src-118f08f84570bfeacaa4208b75db4b24c75479dd.tar.bz2 |
Mojo: Add support for attributes [name=value] on interfaces.
This will be useful for defining peer relations between interfaces.
R=davemoore@chromium.org
Review URL: https://codereview.chromium.org/63843003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233652 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'mojo')
-rwxr-xr-x | mojo/public/bindings/parser/mojo_parser.py | 7 | ||||
-rwxr-xr-x | mojo/public/bindings/parser/mojo_translate.py | 5 |
2 files changed, 7 insertions, 5 deletions
diff --git a/mojo/public/bindings/parser/mojo_parser.py b/mojo/public/bindings/parser/mojo_parser.py index db13fd8..9bc9489 100755 --- a/mojo/public/bindings/parser/mojo_parser.py +++ b/mojo/public/bindings/parser/mojo_parser.py @@ -150,7 +150,8 @@ class Parser(object): p[0] = ListFromConcat(p[1], p[3]) def p_attribute(self, p): - """attribute : NAME EQUALS NUMBER""" + """attribute : NAME EQUALS NUMBER + | NAME EQUALS NAME""" p[0] = ('ATTRIBUTE', p[1], p[3]) def p_struct(self, p): @@ -168,8 +169,8 @@ class Parser(object): p[0] = ('FIELD', p[1], p[2], p[3]) def p_interface(self, p): - """interface : INTERFACE NAME LCURLY methods RCURLY SEMICOLON""" - p[0] = ('INTERFACE', p[2], p[4]) + """interface : attribute_section INTERFACE NAME LCURLY methods RCURLY SEMICOLON""" + p[0] = ('INTERFACE', p[3], p[1], p[5]) def p_methods(self, p): """methods : method methods diff --git a/mojo/public/bindings/parser/mojo_translate.py b/mojo/public/bindings/parser/mojo_translate.py index 46aa071..60b06e3 100755 --- a/mojo/public/bindings/parser/mojo_translate.py +++ b/mojo/public/bindings/parser/mojo_translate.py @@ -76,11 +76,12 @@ class MojomBuilder(): self.mojom['structs'].append(struct) # TODO(darin): Add support for |attributes| - def AddInterface(self, name, methods): + def AddInterface(self, name, attributes, methods): interface = {} interface['name'] = name interface['methods'] = MapMethods(methods) self.mojom['interfaces'].append(interface) + # TODO(darin): Add support for |attributes| def AddModule(self, name, contents): self.mojom['name'] = name @@ -91,7 +92,7 @@ class MojomBuilder(): if item[0] == 'STRUCT': self.AddStruct(name=item[1], attributes=item[2], fields=item[3]) elif item[0] == 'INTERFACE': - self.AddInterface(name=item[1], methods=item[2]) + self.AddInterface(name=item[1], attributes=item[2], methods=item[3]) def Build(self, tree): if tree[0] == 'MODULE': |