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 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
481 "imports": self.module.imports, | 481 "imports": self.module.imports, |
482 "kinds": self.module.kinds, | 482 "kinds": self.module.kinds, |
483 "enums": self.module.enums, | 483 "enums": self.module.enums, |
484 "structs": self.GetStructs(), | 484 "structs": self.GetStructs(), |
485 "unions": self.GetUnions(), | 485 "unions": self.GetUnions(), |
486 "interfaces": self.GetInterfaces(), | 486 "interfaces": self.GetInterfaces(), |
487 "variant": self.variant, | 487 "variant": self.variant, |
488 "extra_headers": self.GetExtraHeaders(), | 488 "extra_headers": self.GetExtraHeaders(), |
489 } | 489 } |
490 | 490 |
491 @UseJinja("cpp_templates/module.h.tmpl", filters=cpp_filters) | 491 @staticmethod |
| 492 def GetTemplatePrefix(): |
| 493 return "cpp_templates" |
| 494 |
| 495 @classmethod |
| 496 def GetFilters(cls): |
| 497 return cls.cpp_filters |
| 498 |
| 499 @UseJinja("module.h.tmpl") |
492 def GenerateModuleHeader(self): | 500 def GenerateModuleHeader(self): |
493 return self.GetJinjaExports() | 501 return self.GetJinjaExports() |
494 | 502 |
495 @UseJinja("cpp_templates/module-internal.h.tmpl", filters=cpp_filters) | 503 @UseJinja("module-internal.h.tmpl") |
496 def GenerateModuleInternalHeader(self): | 504 def GenerateModuleInternalHeader(self): |
497 return self.GetJinjaExports() | 505 return self.GetJinjaExports() |
498 | 506 |
499 @UseJinja("cpp_templates/module.cc.tmpl", filters=cpp_filters) | 507 @UseJinja("module.cc.tmpl") |
500 def GenerateModuleSource(self): | 508 def GenerateModuleSource(self): |
501 return self.GetJinjaExports() | 509 return self.GetJinjaExports() |
502 | 510 |
503 def GenerateFiles(self, args): | 511 def GenerateFiles(self, args): |
504 global _current_typemap | 512 global _current_typemap |
505 _current_typemap = self.typemap | 513 _current_typemap = self.typemap |
506 suffix = "-%s" % self.variant if self.variant else "" | 514 suffix = "-%s" % self.variant if self.variant else "" |
507 self.Write(self.GenerateModuleHeader(), | 515 self.Write(self.GenerateModuleHeader(), |
508 self.MatchMojomFilePath("%s%s.h" % (self.module.name, suffix))) | 516 self.MatchMojomFilePath("%s%s.h" % (self.module.name, suffix))) |
509 self.Write(self.GenerateModuleInternalHeader(), | 517 self.Write(self.GenerateModuleInternalHeader(), |
510 self.MatchMojomFilePath("%s%s-internal.h" % (self.module.name, suffix))) | 518 self.MatchMojomFilePath("%s%s-internal.h" % (self.module.name, suffix))) |
511 self.Write(self.GenerateModuleSource(), | 519 self.Write(self.GenerateModuleSource(), |
512 self.MatchMojomFilePath("%s%s.cc" % (self.module.name, suffix))) | 520 self.MatchMojomFilePath("%s%s.cc" % (self.module.name, suffix))) |
OLD | NEW |