OLD | NEW |
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 Loading... |
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 Loading... |
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) |
OLD | NEW |