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 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 Given an IDL dictionary or interface member, converts into a name/value pair | 143 Given an IDL dictionary or interface member, converts into a name/value pair |
144 where the value is a Python dictionary that the JSON schema compiler expects | 144 where the value is a Python dictionary that the JSON schema compiler expects |
145 to see. | 145 to see. |
146 ''' | 146 ''' |
147 def __init__(self, member_node): | 147 def __init__(self, member_node): |
148 self.node = member_node | 148 self.node = member_node |
149 | 149 |
150 def process(self, callbacks): | 150 def process(self, callbacks): |
151 properties = OrderedDict() | 151 properties = OrderedDict() |
152 name = self.node.GetName() | 152 name = self.node.GetName() |
153 for property_name in ('OPTIONAL', 'nodoc', 'nocompile'): | 153 for property_name in ('OPTIONAL', 'nodoc', 'nocompile', 'nodart'): |
154 if self.node.GetProperty(property_name): | 154 if self.node.GetProperty(property_name): |
155 properties[property_name.lower()] = True | 155 properties[property_name.lower()] = True |
156 is_function = False | 156 is_function = False |
157 parameter_comments = OrderedDict() | 157 parameter_comments = OrderedDict() |
158 for node in self.node.children: | 158 for node in self.node.children: |
159 if node.cls == 'Comment': | 159 if node.cls == 'Comment': |
160 (parent_comment, parameter_comments) = ProcessComment(node.GetName()) | 160 (parent_comment, parameter_comments) = ProcessComment(node.GetName()) |
161 properties['description'] = parent_comment | 161 properties['description'] = parent_comment |
162 elif node.cls == 'Callspec': | 162 elif node.cls == 'Callspec': |
163 is_function = True | 163 is_function = True |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
373 ''' | 373 ''' |
374 Dump a json serialization of parse result for the IDL files whose names | 374 Dump a json serialization of parse result for the IDL files whose names |
375 were passed in on the command line. | 375 were passed in on the command line. |
376 ''' | 376 ''' |
377 for filename in sys.argv[1:]: | 377 for filename in sys.argv[1:]: |
378 schema = Load(filename) | 378 schema = Load(filename) |
379 print json.dumps(schema, indent=2) | 379 print json.dumps(schema, indent=2) |
380 | 380 |
381 if __name__ == '__main__': | 381 if __name__ == '__main__': |
382 Main() | 382 Main() |
OLD | NEW |