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

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

Issue 1637903002: [mojo-bindings] Attribute "native" -> "Native" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
« no previous file with comments | « mojo/public/interfaces/bindings/tests/test_native_types.mojom ('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 # 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 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 struct.fields_data = [] 218 struct.fields_data = []
219 else: 219 else:
220 struct.enums = map(lambda enum: 220 struct.enums = map(lambda enum:
221 EnumFromData(module, enum, struct), data['enums']) 221 EnumFromData(module, enum, struct), data['enums'])
222 struct.constants = map(lambda constant: 222 struct.constants = map(lambda constant:
223 ConstantFromData(module, constant, struct), data['constants']) 223 ConstantFromData(module, constant, struct), data['constants'])
224 # Stash fields data here temporarily. 224 # Stash fields data here temporarily.
225 struct.fields_data = data['fields'] 225 struct.fields_data = data['fields']
226 struct.attributes = data.get('attributes') 226 struct.attributes = data.get('attributes')
227 227
228 # Enforce that a [native=True] attribute is set to make native-only struct 228 # Enforce that a [Native=True] attribute is set to make native-only struct
229 # declarations more explicit. 229 # declarations more explicit.
230 if struct.native_only: 230 if struct.native_only:
231 if not struct.attributes or not struct.attributes.get('native', False): 231 if not struct.attributes or not struct.attributes.get('Native', False):
232 raise Exception("Native-only struct declarations must include a " + 232 raise Exception("Native-only struct declarations must include a " +
233 "native=True attribute.") 233 "Native=True attribute.")
234 234
235 return struct 235 return struct
236 236
237 def UnionToData(union): 237 def UnionToData(union):
238 data = { 238 data = {
239 istr(0, 'name'): union.name, 239 istr(0, 'name'): union.name,
240 istr(1, 'fields'): map(FieldToData, union.fields) 240 istr(1, 'fields'): map(FieldToData, union.fields)
241 } 241 }
242 AddOptional(data, istr(2, 'attributes'), union.attributes) 242 AddOptional(data, istr(2, 'attributes'), union.attributes)
243 return data 243 return data
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
493 493
494 def OrderedModuleFromData(data): 494 def OrderedModuleFromData(data):
495 module = ModuleFromData(data) 495 module = ModuleFromData(data)
496 for interface in module.interfaces: 496 for interface in module.interfaces:
497 next_ordinal = 0 497 next_ordinal = 0
498 for method in interface.methods: 498 for method in interface.methods:
499 if method.ordinal is None: 499 if method.ordinal is None:
500 method.ordinal = next_ordinal 500 method.ordinal = next_ordinal
501 next_ordinal = method.ordinal + 1 501 next_ordinal = method.ordinal + 1
502 return module 502 return module
OLDNEW
« no previous file with comments | « mojo/public/interfaces/bindings/tests/test_native_types.mojom ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698