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

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

Issue 364063006: JAVA BINDINGS WIP. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Updates Created 6 years, 5 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_java_generator.py
diff --git a/mojo/public/tools/bindings/generators/mojom_java_generator.py b/mojo/public/tools/bindings/generators/mojom_java_generator.py
index 7364afc56ad725ff594c1180e68fc377d69071ce..b35dd9866934b4dd2934b31bc0316a72267e78c2 100644
--- a/mojo/public/tools/bindings/generators/mojom_java_generator.py
+++ b/mojo/public/tools/bindings/generators/mojom_java_generator.py
@@ -244,6 +244,14 @@ def IsPointerArrayKind(kind):
sub_kind = kind.kind
return generator.IsObjectKind(sub_kind)
+def GetResponseStructFromMethod(method):
+ return generator.GetDataHeader(
+ False, generator.GetResponseStructFromMethod(method))
+
+def GetStructFromMethod(method):
+ return generator.GetDataHeader(
+ False, generator.GetStructFromMethod(method))
+
def GetConstantsMainEntityName(module):
if 'JavaConstantsClassName' in module.attributes:
return ParseStringAttribute(module.attributes['JavaConstantsClassName'])
@@ -266,6 +274,8 @@ class Generator(generator.Generator):
"java_type": GetJavaType,
"name": GetNameForElement,
"new_array": NewArray,
+ "response_struct_from_method": GetResponseStructFromMethod,
+ "struct_from_method": GetStructFromMethod,
"struct_size": lambda ps: ps.GetTotalSize() + _HEADER_SIZE,
}
@@ -297,6 +307,12 @@ class Generator(generator.Generator):
exports.update({"client": client})
return exports
+ @UseJinja("java_templates/interface_internal.java.tmpl", filters=java_filters)
+ def GenerateInterfaceInternalSource(self, interface):
+ exports = self.GetJinjaExports()
+ exports.update({"interface": interface})
+ return exports
+
@UseJinja("java_templates/constants.java.tmpl", filters=java_filters)
def GenerateConstantsSource(self, module):
exports = self.GetJinjaExports()
@@ -329,6 +345,9 @@ class Generator(generator.Generator):
for interface in self.module.interfaces:
self.Write(self.GenerateInterfaceSource(interface),
"%s.java" % GetNameForElement(interface))
+ if interface.methods:
+ self.Write(self.GenerateInterfaceInternalSource(interface),
+ "%sInternal.java" % GetNameForElement(interface))
if self.module.constants:
self.Write(self.GenerateConstantsSource(self.module),

Powered by Google App Engine
This is Rietveld 408576698