| 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 457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 468 "passes_associated_kinds": mojom.PassesAssociatedKinds, | 468 "passes_associated_kinds": mojom.PassesAssociatedKinds, |
| 469 "struct_size": lambda ps: ps.GetTotalSize() + _HEADER_SIZE, | 469 "struct_size": lambda ps: ps.GetTotalSize() + _HEADER_SIZE, |
| 470 "stylize_method": generator.StudlyCapsToCamel, | 470 "stylize_method": generator.StudlyCapsToCamel, |
| 471 "under_to_camel": generator.UnderToCamel, | 471 "under_to_camel": generator.UnderToCamel, |
| 472 } | 472 } |
| 473 | 473 |
| 474 def GetExtraHeaders(self): | 474 def GetExtraHeaders(self): |
| 475 extra_headers = set() | 475 extra_headers = set() |
| 476 for name, entry in self.typemap.iteritems(): | 476 for name, entry in self.typemap.iteritems(): |
| 477 extra_headers.update(entry["headers"]) | 477 extra_headers.update(entry["headers"]) |
| 478 if self.dll_export_include: |
| 479 extra_headers.add(self.dll_export_include) |
| 478 return list(extra_headers) | 480 return list(extra_headers) |
| 479 | 481 |
| 480 def GetJinjaExports(self): | 482 def GetJinjaExports(self): |
| 481 return { | 483 return { |
| 482 "module": self.module, | 484 "module": self.module, |
| 483 "namespace": self.module.namespace, | 485 "namespace": self.module.namespace, |
| 484 "namespaces_as_array": NamespaceToArray(self.module.namespace), | 486 "namespaces_as_array": NamespaceToArray(self.module.namespace), |
| 485 "imports": self.module.imports, | 487 "imports": self.module.imports, |
| 486 "kinds": self.module.kinds, | 488 "kinds": self.module.kinds, |
| 487 "enums": self.module.enums, | 489 "enums": self.module.enums, |
| 488 "structs": self.GetStructs(), | 490 "structs": self.GetStructs(), |
| 489 "unions": self.GetUnions(), | 491 "unions": self.GetUnions(), |
| 490 "interfaces": self.GetInterfaces(), | 492 "interfaces": self.GetInterfaces(), |
| 491 "variant": self.variant, | 493 "variant": self.variant, |
| 492 "extra_headers": self.GetExtraHeaders(), | 494 "extra_headers": self.GetExtraHeaders(), |
| 495 "dll_export": self.dll_export_declaration, |
| 493 } | 496 } |
| 494 | 497 |
| 495 @staticmethod | 498 @staticmethod |
| 496 def GetTemplatePrefix(): | 499 def GetTemplatePrefix(): |
| 497 return "cpp_templates" | 500 return "cpp_templates" |
| 498 | 501 |
| 499 @classmethod | 502 @classmethod |
| 500 def GetFilters(cls): | 503 def GetFilters(cls): |
| 501 return cls.cpp_filters | 504 return cls.cpp_filters |
| 502 | 505 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 515 def GenerateFiles(self, args): | 518 def GenerateFiles(self, args): |
| 516 global _current_typemap | 519 global _current_typemap |
| 517 _current_typemap = self.typemap | 520 _current_typemap = self.typemap |
| 518 suffix = "-%s" % self.variant if self.variant else "" | 521 suffix = "-%s" % self.variant if self.variant else "" |
| 519 self.Write(self.GenerateModuleHeader(), | 522 self.Write(self.GenerateModuleHeader(), |
| 520 self.MatchMojomFilePath("%s%s.h" % (self.module.name, suffix))) | 523 self.MatchMojomFilePath("%s%s.h" % (self.module.name, suffix))) |
| 521 self.Write(self.GenerateModuleInternalHeader(), | 524 self.Write(self.GenerateModuleInternalHeader(), |
| 522 self.MatchMojomFilePath("%s%s-internal.h" % (self.module.name, suffix))) | 525 self.MatchMojomFilePath("%s%s-internal.h" % (self.module.name, suffix))) |
| 523 self.Write(self.GenerateModuleSource(), | 526 self.Write(self.GenerateModuleSource(), |
| 524 self.MatchMojomFilePath("%s%s.cc" % (self.module.name, suffix))) | 527 self.MatchMojomFilePath("%s%s.cc" % (self.module.name, suffix))) |
| OLD | NEW |