Index: tools/idl_parser/idl_parser.py |
diff --git a/tools/idl_parser/idl_parser.py b/tools/idl_parser/idl_parser.py |
index fabe2daa0008874928d3ddec526cc842f23acf37..a8cd82f8cf9a66fbab96071e8a1f36151f292644 100755 |
--- a/tools/idl_parser/idl_parser.py |
+++ b/tools/idl_parser/idl_parser.py |
@@ -438,15 +438,31 @@ class IDLParser(object): |
p[0] = ListFromConcat(self.BuildAttribute('TYPE', 'float'), |
self.BuildAttribute('VALUE', val)) |
- # [31] Removed unsupported: Serializer, Stringifier |
+ # [31] Removed unsupported: Serializer |
def p_AttributeOrOperationOrIterator(self, p): |
- """AttributeOrOperationOrIterator : StaticMember |
+ """AttributeOrOperationOrIterator : Stringifier |
+ | StaticMember |
| Attribute |
| OperationOrIterator""" |
p[0] = p[1] |
# [32-37] NOT IMPLEMENTED (Serializer) |
- # [38-39] FIXME: NOT IMPLEMENTED (Stringifier) http://crbug.com/306606 |
+ |
+ # [38] |
+ def p_Stringifier(self, p): |
+ """Stringifier : STRINGIFIER StringifierRest""" |
+ p[0] = self.BuildProduction('Stringifier', p, 1, p[2]) |
+ |
+ # [39] |
+ def p_StringifierRest(self, p): |
+ """StringifierRest : AttributeRest |
+ | ReturnType OperationRest |
+ | ';'""" |
+ if len(p) == 3: |
+ p[2].AddChildren(p[1]) |
+ p[0] = p[2] |
+ elif p[1] != ';': |
+ p[0] = p[1] |
# [40] |
def p_StaticMember(self, p): |