Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(232)

Side by Side Diff: tools/json_schema_compiler/idl_schema.py

Issue 98803004: Pepper: Clean up IDLNode internals. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix potential KeyError Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ppapi/generators/idl_propertynode.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 ''' 216 '''
217 def __init__(self, typeref, parent, additional_properties=OrderedDict()): 217 def __init__(self, typeref, parent, additional_properties=OrderedDict()):
218 self.typeref = typeref 218 self.typeref = typeref
219 self.parent = parent 219 self.parent = parent
220 self.additional_properties = additional_properties 220 self.additional_properties = additional_properties
221 221
222 def process(self, callbacks): 222 def process(self, callbacks):
223 properties = self.additional_properties 223 properties = self.additional_properties
224 result = properties 224 result = properties
225 225
226 if self.parent.GetProperty('OPTIONAL', False): 226 if self.parent.GetProperty('OPTIONAL'):
227 properties['optional'] = True 227 properties['optional'] = True
228 228
229 # The IDL parser denotes array types by adding a child 'Array' node onto 229 # The IDL parser denotes array types by adding a child 'Array' node onto
230 # the Param node in the Callspec. 230 # the Param node in the Callspec.
231 for sibling in self.parent.GetChildren(): 231 for sibling in self.parent.GetChildren():
232 if sibling.cls == 'Array' and sibling.GetName() == self.parent.GetName(): 232 if sibling.cls == 'Array' and sibling.GetName() == self.parent.GetName():
233 properties['type'] = 'array' 233 properties['type'] = 'array'
234 properties['items'] = OrderedDict() 234 properties['items'] = OrderedDict()
235 properties = properties['items'] 235 properties = properties['items']
236 break 236 break
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 Dump a json serialization of parse result for the IDL files whose names 446 Dump a json serialization of parse result for the IDL files whose names
447 were passed in on the command line. 447 were passed in on the command line.
448 ''' 448 '''
449 for filename in sys.argv[1:]: 449 for filename in sys.argv[1:]:
450 schema = Load(filename) 450 schema = Load(filename)
451 print json.dumps(schema, indent=2) 451 print json.dumps(schema, indent=2)
452 452
453 453
454 if __name__ == '__main__': 454 if __name__ == '__main__':
455 Main() 455 Main()
OLDNEW
« no previous file with comments | « ppapi/generators/idl_propertynode.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698