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

Unified Diff: third_party/mojo/src/mojo/public/tools/bindings/generators/mojom_go_generator.py

Issue 904103003: Update mojo sdk to rev 8d45c89c30b230843c5bd6dd0693a555750946c0 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: surfaces_service.mojom.h -> surfaces.mojom.h Created 5 years, 10 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: third_party/mojo/src/mojo/public/tools/bindings/generators/mojom_go_generator.py
diff --git a/third_party/mojo/src/mojo/public/tools/bindings/generators/mojom_go_generator.py b/third_party/mojo/src/mojo/public/tools/bindings/generators/mojom_go_generator.py
new file mode 100644
index 0000000000000000000000000000000000000000..3f7c938baea6f8b4fd6946449167d8d4a872adfe
--- /dev/null
+++ b/third_party/mojo/src/mojo/public/tools/bindings/generators/mojom_go_generator.py
@@ -0,0 +1,51 @@
+# Copyright 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+'''Generates Go source files from a mojom.Module.'''
+
+import os
+
+from mojom.generate.template_expander import UseJinja
+
+import mojom.generate.generator as generator
+import mojom.generate.module as mojom
+
+def GetPackage(module):
+ if module.namespace:
+ return module.namespace.split('.')[-1]
+ return 'mojom'
+
+def GetPackagePath(module):
+ path = 'mojom'
+ for i in module.namespace.split('.'):
+ path = os.path.join(path, i)
+ return path
+
+class Generator(generator.Generator):
+ go_filters = {}
+
+ def GetParameters(self):
+ return {
+ 'package': GetPackage(self.module),
+ }
+
+ @UseJinja('go_templates/source.tmpl', filters=go_filters)
+ def GenerateSource(self):
+ return self.GetParameters()
+
+ def GenerateFiles(self, args):
+ self.Write(self.GenerateSource(), os.path.join("go", "src", "gen",
+ GetPackagePath(self.module), '%s.go' % self.module.name))
+
+ def GetJinjaParameters(self):
+ return {
+ 'lstrip_blocks': True,
+ 'trim_blocks': True,
+ }
+
+ def GetGlobals(self):
+ return {
+ 'namespace': self.module.namespace,
+ 'module': self.module,
+ }

Powered by Google App Engine
This is Rietveld 408576698