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

Side by Side Diff: mojo/public/tools/bindings/pylib/mojom/generate/data.py

Issue 551053002: mojo: Adding struct's fields for python bindings (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adding constructors. Created 6 years, 3 months 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
OLDNEW
1 # Copyright 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 # TODO(vtl): "data" is a pretty vague name. Rename it? 5 # TODO(vtl): "data" is a pretty vague name. Rename it?
6 6
7 import copy 7 import copy
8 8
9 import module as mojom 9 import module as mojom
10 10
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 constant = mojom.Constant() 311 constant = mojom.Constant()
312 constant.name = data['name'] 312 constant.name = data['name']
313 if parent_kind: 313 if parent_kind:
314 scope = (module.namespace, parent_kind.name) 314 scope = (module.namespace, parent_kind.name)
315 else: 315 else:
316 scope = (module.namespace, ) 316 scope = (module.namespace, )
317 # TODO(mpcomplete): maybe we should only support POD kinds. 317 # TODO(mpcomplete): maybe we should only support POD kinds.
318 constant.kind = KindFromData(module.kinds, data['kind'], scope) 318 constant.kind = KindFromData(module.kinds, data['kind'], scope)
319 constant.value = FixupExpression(module, data.get('value'), scope, None) 319 constant.value = FixupExpression(module, data.get('value'), scope, None)
320 320
321 value = mojom.NamedValue(module, parent_kind, constant.name) 321 value = mojom.ConstantValue(module, parent_kind, constant)
322 module.values[value.GetSpec()] = value 322 module.values[value.GetSpec()] = value
323 return constant 323 return constant
324 324
325 def ModuleToData(module): 325 def ModuleToData(module):
326 return { 326 return {
327 istr(0, 'name'): module.name, 327 istr(0, 'name'): module.name,
328 istr(1, 'namespace'): module.namespace, 328 istr(1, 'namespace'): module.namespace,
329 istr(2, 'structs'): map(StructToData, module.structs), 329 istr(2, 'structs'): map(StructToData, module.structs),
330 istr(3, 'interfaces'): map(InterfaceToData, module.interfaces) 330 istr(3, 'interfaces'): map(InterfaceToData, module.interfaces)
331 } 331 }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 374
375 def OrderedModuleFromData(data): 375 def OrderedModuleFromData(data):
376 module = ModuleFromData(data) 376 module = ModuleFromData(data)
377 for interface in module.interfaces: 377 for interface in module.interfaces:
378 next_ordinal = 0 378 next_ordinal = 0
379 for method in interface.methods: 379 for method in interface.methods:
380 if method.ordinal is None: 380 if method.ordinal is None:
381 method.ordinal = next_ordinal 381 method.ordinal = next_ordinal
382 next_ordinal = method.ordinal + 1 382 next_ordinal = method.ordinal + 1
383 return module 383 return module
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698