Index: Source/bindings/scripts/blink_idl_parser.py |
diff --git a/Source/bindings/scripts/blink_idl_parser.py b/Source/bindings/scripts/blink_idl_parser.py |
index a8defe23fe770ec5dda18ec1931f7b5664e40ce8..feed0e55d9449cbb2fd47bad4ba9b3eec350d691 100644 |
--- a/Source/bindings/scripts/blink_idl_parser.py |
+++ b/Source/bindings/scripts/blink_idl_parser.py |
@@ -333,17 +333,23 @@ class BlinkIDLParser(IDLParser): |
elif len(p) == 3: |
p[0] = ListFromConcat(self.BuildTrue('NULLABLE'), p[2]) |
- # [b76.1] Add support for compound Extended Attribute values (A&B and A|B) |
+ # [94] A=(B,C) |
+ # Blink extension: OR attribute lists, A=B|C |
def p_ExtendedAttributeIdentList(self, p): |
- """ExtendedAttributeIdentList : identifier '=' identifier '&' IdentAndList |
+ """ExtendedAttributeIdentList : identifier '=' '(' identifier ',' IdentifierList ')' |
| identifier '=' identifier '|' IdentOrList""" |
- value = self.BuildAttribute('VALUE', p[3] + p[4] + p[5]) |
- p[0] = self.BuildNamed('ExtAttribute', p, 1, value) |
+ if len(p) == 6: |
+ value = p[3] + p[4] + p[5] |
+ else: |
+ value = p[4] + p[5] + p[6] |
+ |
+ attribute = self.BuildAttribute('VALUE', value) |
+ p[0] = self.BuildNamed('ExtAttribute', p, 1, attribute) |
- # [b76.2] A&B&C |
- def p_IdentAndList(self, p): |
- """IdentAndList : identifier '&' IdentAndList |
- | identifier""" |
+ # [89] A,B,C |
+ def p_IdentifierList(self, p): |
+ """IdentifierList : identifier ',' IdentifierList |
+ | identifier""" |
if len(p) > 3: |
p[0] = p[1] + p[2] + p[3] |
else: |