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

Side by Side 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 unified diff | Download patch
OLDNEW
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 509 matching lines...) Expand 10 before | Expand all | Expand 10 after
520 return self.GetJinjaExports() 520 return self.GetJinjaExports()
521 521
522 @UseJinja("module-internal.h.tmpl") 522 @UseJinja("module-internal.h.tmpl")
523 def GenerateModuleInternalHeader(self): 523 def GenerateModuleInternalHeader(self):
524 return self.GetJinjaExports() 524 return self.GetJinjaExports()
525 525
526 @UseJinja("module.cc.tmpl") 526 @UseJinja("module.cc.tmpl")
527 def GenerateModuleSource(self): 527 def GenerateModuleSource(self):
528 return self.GetJinjaExports() 528 return self.GetJinjaExports()
529 529
530 @UseJinja("module-shared.h.tmpl")
531 def GenerateModuleSharedHeader(self):
532 return self.GetJinjaExports()
533
534 @UseJinja("module-shared-internal.h.tmpl")
535 def GenerateModuleSharedInternalHeader(self):
536 return self.GetJinjaExports()
537
538 @UseJinja("module-shared.cc.tmpl")
539 def GenerateModuleSharedSource(self):
540 return self.GetJinjaExports()
541
530 def GenerateFiles(self, args): 542 def GenerateFiles(self, args):
531 global _current_typemap 543 if self.generate_non_variant_code:
532 _current_typemap = self.typemap 544 self.Write(self.GenerateModuleSharedHeader(),
533 global _for_blink 545 self.MatchMojomFilePath("%s-shared.h" % self.module.name))
534 _for_blink = self.for_blink 546 self.Write(
535 global _use_new_wrapper_types 547 self.GenerateModuleSharedInternalHeader(),
536 _use_new_wrapper_types = self.use_new_wrapper_types 548 self.MatchMojomFilePath("%s-shared-internal.h" % self.module.name))
537 global _variant 549 self.Write(self.GenerateModuleSharedSource(),
538 _variant = self.variant 550 self.MatchMojomFilePath("%s-shared.cc" % self.module.name))
539 suffix = "-%s" % self.variant if self.variant else "" 551 else:
540 self.Write(self.GenerateModuleHeader(), 552 global _current_typemap
541 self.MatchMojomFilePath("%s%s.h" % (self.module.name, suffix))) 553 _current_typemap = self.typemap
542 self.Write(self.GenerateModuleInternalHeader(), 554 global _for_blink
543 self.MatchMojomFilePath("%s%s-internal.h" % (self.module.name, suffix))) 555 _for_blink = self.for_blink
544 self.Write(self.GenerateModuleSource(), 556 global _use_new_wrapper_types
545 self.MatchMojomFilePath("%s%s.cc" % (self.module.name, suffix))) 557 _use_new_wrapper_types = self.use_new_wrapper_types
558 global _variant
559 _variant = self.variant
560 suffix = "-%s" % self.variant if self.variant else ""
561 self.Write(self.GenerateModuleHeader(),
562 self.MatchMojomFilePath("%s%s.h" % (self.module.name, suffix)))
563 self.Write(self.GenerateModuleInternalHeader(),
564 self.MatchMojomFilePath("%s%s-internal.h" %
565 (self.module.name, suffix)))
566 self.Write(
567 self.GenerateModuleSource(),
568 self.MatchMojomFilePath("%s%s.cc" % (self.module.name, suffix)))
OLDNEW
« 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