Chromium Code Reviews| 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 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 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 | |
| 227 if kind == mojom.DOUBLE: | |
| 228 if token == "Inf" or token == "+Inf": | |
| 229 return "std::numeric_limits<double>::infinity()" | |
|
viettrungluu
2014/08/14 22:32:25
This (and everything else) probably creates a stat
| |
| 230 if token == "-Inf": | |
| 231 return "-std::numeric_limits<double>::infinity()" | |
| 232 if token == "NaN": | |
| 233 return "std::numeric_limits<double>::quiet_NaN()" | |
| 234 | |
| 235 if kind == mojom.FLOAT: | |
| 236 if token == "Inf" or token == "+Inf": | |
| 237 return "std::numeric_limits<float>::infinity()" | |
| 238 if token == "-Inf": | |
| 239 return "-std::numeric_limits<float>::infinity()" | |
| 240 if token == "NaN": | |
| 241 return "std::numeric_limits<float>::quiet_NaN()" | |
| 242 | |
| 226 return '%s%s' % (token, _kind_to_cpp_literal_suffix.get(kind, '')) | 243 return '%s%s' % (token, _kind_to_cpp_literal_suffix.get(kind, '')) |
| 227 | 244 |
| 228 def ExpressionToText(value, kind=None): | 245 def ExpressionToText(value, kind=None): |
| 229 return TranslateConstants(value, kind) | 246 return TranslateConstants(value, kind) |
| 230 | 247 |
| 231 def HasCallbacks(interface): | 248 def HasCallbacks(interface): |
| 232 for method in interface.methods: | 249 for method in interface.methods: |
| 233 if method.response_parameters != None: | 250 if method.response_parameters != None: |
| 234 return True | 251 return True |
| 235 return False | 252 return False |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 300 | 317 |
| 301 @UseJinja("cpp_templates/module.cc.tmpl", filters=cpp_filters) | 318 @UseJinja("cpp_templates/module.cc.tmpl", filters=cpp_filters) |
| 302 def GenerateModuleSource(self): | 319 def GenerateModuleSource(self): |
| 303 return self.GetJinjaExports() | 320 return self.GetJinjaExports() |
| 304 | 321 |
| 305 def GenerateFiles(self, args): | 322 def GenerateFiles(self, args): |
| 306 self.Write(self.GenerateModuleHeader(), "%s.h" % self.module.name) | 323 self.Write(self.GenerateModuleHeader(), "%s.h" % self.module.name) |
| 307 self.Write(self.GenerateModuleInternalHeader(), | 324 self.Write(self.GenerateModuleInternalHeader(), |
| 308 "%s-internal.h" % self.module.name) | 325 "%s-internal.h" % self.module.name) |
| 309 self.Write(self.GenerateModuleSource(), "%s.cc" % self.module.name) | 326 self.Write(self.GenerateModuleSource(), "%s.cc" % self.module.name) |
| OLD | NEW |