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

Unified Diff: mojo/public/tools/bindings/generators/mojom_cpp_generator.py

Issue 2237913004: Mojo C++ bindings: support generating code shared by different variants. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: mojo/public/tools/bindings/generators/mojom_cpp_generator.py
diff --git a/mojo/public/tools/bindings/generators/mojom_cpp_generator.py b/mojo/public/tools/bindings/generators/mojom_cpp_generator.py
index fec7a6be233d5109ab91c61e0f2564d77c19faeb..a9fa2398588904778dbf5f7e0478f9f817bb2034 100644
--- a/mojo/public/tools/bindings/generators/mojom_cpp_generator.py
+++ b/mojo/public/tools/bindings/generators/mojom_cpp_generator.py
@@ -527,19 +527,42 @@ class Generator(generator.Generator):
def GenerateModuleSource(self):
return self.GetJinjaExports()
+ @UseJinja("module-shared.h.tmpl")
+ def GenerateModuleSharedHeader(self):
+ return self.GetJinjaExports()
+
+ @UseJinja("module-shared-internal.h.tmpl")
+ def GenerateModuleSharedInternalHeader(self):
+ return self.GetJinjaExports()
+
+ @UseJinja("module-shared.cc.tmpl")
+ def GenerateModuleSharedSource(self):
+ return self.GetJinjaExports()
+
def GenerateFiles(self, args):
- global _current_typemap
- _current_typemap = self.typemap
- global _for_blink
- _for_blink = self.for_blink
- global _use_new_wrapper_types
- _use_new_wrapper_types = self.use_new_wrapper_types
- global _variant
- _variant = self.variant
- suffix = "-%s" % self.variant if self.variant else ""
- self.Write(self.GenerateModuleHeader(),
- self.MatchMojomFilePath("%s%s.h" % (self.module.name, suffix)))
- self.Write(self.GenerateModuleInternalHeader(),
- self.MatchMojomFilePath("%s%s-internal.h" % (self.module.name, suffix)))
- self.Write(self.GenerateModuleSource(),
- self.MatchMojomFilePath("%s%s.cc" % (self.module.name, suffix)))
+ if self.generate_non_variant_code:
+ self.Write(self.GenerateModuleSharedHeader(),
+ self.MatchMojomFilePath("%s-shared.h" % self.module.name))
+ self.Write(
+ self.GenerateModuleSharedInternalHeader(),
+ self.MatchMojomFilePath("%s-shared-internal.h" % self.module.name))
+ self.Write(self.GenerateModuleSharedSource(),
+ self.MatchMojomFilePath("%s-shared.cc" % self.module.name))
+ else:
+ global _current_typemap
+ _current_typemap = self.typemap
+ global _for_blink
+ _for_blink = self.for_blink
+ global _use_new_wrapper_types
+ _use_new_wrapper_types = self.use_new_wrapper_types
+ global _variant
+ _variant = self.variant
+ suffix = "-%s" % self.variant if self.variant else ""
+ self.Write(self.GenerateModuleHeader(),
+ self.MatchMojomFilePath("%s%s.h" % (self.module.name, suffix)))
+ self.Write(self.GenerateModuleInternalHeader(),
+ self.MatchMojomFilePath("%s%s-internal.h" %
+ (self.module.name, suffix)))
+ self.Write(
+ self.GenerateModuleSource(),
+ self.MatchMojomFilePath("%s%s.cc" % (self.module.name, suffix)))
« no previous file with comments | « mojo/public/tools/bindings/generators/cpp_templates/module-shared.h.tmpl ('k') | mojo/public/tools/bindings/mojom.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698