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

Side by Side Diff: mojo/public/tools/bindings/generators/mojom_cpp_generator.py

Issue 545433002: mojo: Generate top level enums for python bindings. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove unhelpful conditional 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 """Generates C++ source files from a mojom.Module.""" 5 """Generates C++ source files from a mojom.Module."""
6 6
7 import mojom.generate.generator as generator 7 import mojom.generate.generator as generator
8 import mojom.generate.module as mojom 8 import mojom.generate.module as mojom
9 import mojom.generate.pack as pack 9 import mojom.generate.pack as pack
10 from mojom.generate.template_expander import UseJinja 10 from mojom.generate.template_expander import UseJinja
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 # Both variable and enum constants are constructed like: 212 # Both variable and enum constants are constructed like:
213 # Namespace::Struct::CONSTANT_NAME 213 # Namespace::Struct::CONSTANT_NAME
214 # For enums, CONSTANT_NAME is ENUM_NAME_ENUM_VALUE. 214 # For enums, CONSTANT_NAME is ENUM_NAME_ENUM_VALUE.
215 name = [] 215 name = []
216 if token.imported_from: 216 if token.imported_from:
217 name.extend(NamespaceToArray(token.namespace)) 217 name.extend(NamespaceToArray(token.namespace))
218 if token.parent_kind: 218 if token.parent_kind:
219 name.append(token.parent_kind.name) 219 name.append(token.parent_kind.name)
220 if isinstance(token, mojom.EnumValue): 220 if isinstance(token, mojom.EnumValue):
221 name.append( 221 name.append(
222 "%s_%s" % (generator.CamelCaseToAllCaps(token.enum_name), token.name)) 222 "%s_%s" % (generator.CamelCaseToAllCaps(token.enum.name), token.name))
223 else: 223 else:
224 name.append(token.name) 224 name.append(token.name)
225 return "::".join(name) 225 return "::".join(name)
226 226
227 if isinstance(token, mojom.BuiltinValue): 227 if isinstance(token, mojom.BuiltinValue):
228 if token.value == "double.INFINITY" or token.value == "float.INFINITY": 228 if token.value == "double.INFINITY" or token.value == "float.INFINITY":
229 return "INFINITY"; 229 return "INFINITY";
230 if token.value == "double.NEGATIVE_INFINITY" or \ 230 if token.value == "double.NEGATIVE_INFINITY" or \
231 token.value == "float.NEGATIVE_INFINITY": 231 token.value == "float.NEGATIVE_INFINITY":
232 return "-INFINITY"; 232 return "-INFINITY";
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 324
325 @UseJinja("cpp_templates/module.cc.tmpl", filters=cpp_filters) 325 @UseJinja("cpp_templates/module.cc.tmpl", filters=cpp_filters)
326 def GenerateModuleSource(self): 326 def GenerateModuleSource(self):
327 return self.GetJinjaExports() 327 return self.GetJinjaExports()
328 328
329 def GenerateFiles(self, args): 329 def GenerateFiles(self, args):
330 self.Write(self.GenerateModuleHeader(), "%s.h" % self.module.name) 330 self.Write(self.GenerateModuleHeader(), "%s.h" % self.module.name)
331 self.Write(self.GenerateModuleInternalHeader(), 331 self.Write(self.GenerateModuleInternalHeader(),
332 "%s-internal.h" % self.module.name) 332 "%s-internal.h" % self.module.name)
333 self.Write(self.GenerateModuleSource(), "%s.cc" % self.module.name) 333 self.Write(self.GenerateModuleSource(), "%s.cc" % self.module.name)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698