| OLD | NEW |
| 1 #! /usr/bin/env python | 1 #! /usr/bin/env python |
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 import itertools | 6 import itertools |
| 7 import json | 7 import json |
| 8 import os.path | 8 import os.path |
| 9 import re | 9 import re |
| 10 import sys | 10 import sys |
| (...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 285 schema compiler expects to see. | 285 schema compiler expects to see. |
| 286 ''' | 286 ''' |
| 287 def __init__(self, enum_node): | 287 def __init__(self, enum_node): |
| 288 self.node = enum_node | 288 self.node = enum_node |
| 289 self.description = '' | 289 self.description = '' |
| 290 | 290 |
| 291 def process(self, callbacks): | 291 def process(self, callbacks): |
| 292 enum = [] | 292 enum = [] |
| 293 for node in self.node.children: | 293 for node in self.node.children: |
| 294 if node.cls == 'EnumItem': | 294 if node.cls == 'EnumItem': |
| 295 enum_value = {'name': node.GetName()} | 295 enum.append(node.GetName()) |
| 296 for child in node.children: | |
| 297 if child.cls == 'Comment': | |
| 298 enum_value['description'] = ProcessComment(child.GetName())[0] | |
| 299 else: | |
| 300 raise ValueError('Did not process %s %s' % (child.cls, child)) | |
| 301 enum.append(enum_value) | |
| 302 elif node.cls == 'Comment': | 296 elif node.cls == 'Comment': |
| 303 self.description = ProcessComment(node.GetName())[0] | 297 self.description = ProcessComment(node.GetName())[0] |
| 304 else: | 298 else: |
| 305 sys.exit('Did not process %s %s' % (node.cls, node)) | 299 sys.exit('Did not process %s %s' % (node.cls, node)) |
| 306 result = {'id' : self.node.GetName(), | 300 result = {'id' : self.node.GetName(), |
| 307 'description': self.description, | 301 'description': self.description, |
| 308 'type': 'string', | 302 'type': 'string', |
| 309 'enum': enum} | 303 'enum': enum} |
| 310 for property_name in ('inline_doc', 'noinline_doc', 'nodoc'): | 304 for property_name in ('inline_doc', 'noinline_doc', 'nodoc'): |
| 311 if self.node.GetProperty(property_name): | 305 if self.node.GetProperty(property_name): |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 433 Dump a json serialization of parse result for the IDL files whose names | 427 Dump a json serialization of parse result for the IDL files whose names |
| 434 were passed in on the command line. | 428 were passed in on the command line. |
| 435 ''' | 429 ''' |
| 436 for filename in sys.argv[1:]: | 430 for filename in sys.argv[1:]: |
| 437 schema = Load(filename) | 431 schema = Load(filename) |
| 438 print json.dumps(schema, indent=2) | 432 print json.dumps(schema, indent=2) |
| 439 | 433 |
| 440 | 434 |
| 441 if __name__ == '__main__': | 435 if __name__ == '__main__': |
| 442 Main() | 436 Main() |
| OLD | NEW |