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

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

Issue 354833003: Revert 279677 "Generate java bindings for structs." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 years, 6 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: trunk/src/mojo/public/tools/bindings/generators/mojom_java_generator.py
===================================================================
--- trunk/src/mojo/public/tools/bindings/generators/mojom_java_generator.py (revision 279687)
+++ trunk/src/mojo/public/tools/bindings/generators/mojom_java_generator.py (working copy)
@@ -8,8 +8,6 @@
import os
import re
-from jinja2 import contextfilter
-
import mojom.generate.generator as generator
import mojom.generate.module as mojom
from mojom.generate.template_expander import UseJinja
@@ -64,21 +62,19 @@
return '_'.join([x.upper() for x in components])
def GetNameForElement(element):
- if isinstance(element, (mojom.Enum,
- mojom.Interface,
- mojom.Struct)):
+ if (isinstance(element, mojom.Enum) or
+ isinstance(element, mojom.Interface) or
+ isinstance(element, mojom.Struct)):
return UpperCamelCase(element.name)
- if isinstance(element, mojom.InterfaceRequest):
- return GetNameForElement(element.kind)
- if isinstance(element, (mojom.Method,
- mojom.Parameter,
- mojom.Field)):
+ if (isinstance(element, mojom.Method) or
+ isinstance(element, mojom.Parameter) or
+ isinstance(element, mojom.Field)):
return CamelCase(element.name)
if isinstance(element, mojom.EnumValue):
return (UpperCamelCase(element.enum_name) + '.' +
ConstantStyle(element.name))
- if isinstance(element, (mojom.NamedValue,
- mojom.Constant)):
+ if (isinstance(element, mojom.NamedValue) or
+ isinstance(element, mojom.Constant)):
return ConstantStyle(element.name)
raise Exception("Unexpected element: " % element)
@@ -92,57 +88,36 @@
# Default package.
return "org.chromium.mojom." + module.namespace
-def GetNameForKind(context, kind):
+def GetNameForKind(kind):
def _GetNameHierachy(kind):
hierachy = []
if kind.parent_kind:
hierachy = _GetNameHierachy(kind.parent_kind)
- hierachy.append(GetNameForElement(kind))
+ hierachy.append(kind.name)
return hierachy
- module = context.resolve('module')
- elements = []
- if GetPackage(module) != GetPackage(kind.module):
- elements += [GetPackage(kind.module)]
+ elements = [GetPackage(kind.module)]
elements += _GetNameHierachy(kind)
return '.'.join(elements)
-@contextfilter
-def GetJavaType(context, kind):
+def GetJavaType(kind):
if isinstance(kind, (mojom.Struct, mojom.Interface)):
- return GetNameForKind(context, kind)
- if isinstance(kind, mojom.InterfaceRequest):
- return GetNameForKind(context, kind.kind)
- if isinstance(kind, (mojom.Array, mojom.FixedArray)):
- return "%s[]" % GetJavaType(context, kind.kind)
+ return GetNameForKind(kind)
+ if isinstance(kind, mojom.Array):
+ return "%s[]" % GetJavaType(kind.kind)
if isinstance(kind, mojom.Enum):
return "int"
return _spec_to_java_type[kind.spec]
-def IsHandle(kind):
- return kind.spec[0] == 'h'
-
-@contextfilter
-def DefaultValue(context, field):
- assert field.default
- if isinstance(field.kind, mojom.Struct):
- assert field.default == "default"
- return "new %s()" % GetJavaType(context, field.kind)
- return "(%s) %s" % (GetJavaType(context, field.kind),
- ExpressionToText(context, field.default))
-
-@contextfilter
-def ExpressionToText(context, token):
+def ExpressionToText(token):
def _TranslateNamedValue(named_value):
entity_name = GetNameForElement(named_value)
if named_value.parent_kind:
- return GetJavaType(context, named_value.parent_kind) + '.' + entity_name
+ return GetJavaType(named_value.parent_kind) + '.' + entity_name
# Handle the case where named_value is a module level constant:
if not isinstance(named_value, mojom.EnumValue):
entity_name = (GetConstantsMainEntityName(named_value.module) + '.' +
entity_name)
- if GetPackage(named_value.module) == GetPackage(context.resolve('module')):
- return entity_name
return GetPackage(named_value.module) + '.' + entity_name
if isinstance(token, mojom.NamedValue):
@@ -163,9 +138,7 @@
class Generator(generator.Generator):
java_filters = {
- "default_value": DefaultValue,
"expression_to_text": ExpressionToText,
- "is_handle": IsHandle,
"java_type": GetJavaType,
"name": GetNameForElement,
}
@@ -176,19 +149,15 @@
"package": GetPackage(self.module),
}
- @UseJinja("java_templates/enum.java.tmpl", filters=java_filters)
+ @UseJinja("java_templates/enum.java.tmpl", filters=java_filters,
+ lstrip_blocks=True, trim_blocks=True)
def GenerateEnumSource(self, enum):
exports = self.GetJinjaExports()
exports.update({"enum": enum})
return exports
- @UseJinja("java_templates/struct.java.tmpl", filters=java_filters)
- def GenerateStructSource(self, struct):
- exports = self.GetJinjaExports()
- exports.update({"struct": struct})
- return exports
-
- @UseJinja("java_templates/constants.java.tmpl", filters=java_filters)
+ @UseJinja("java_templates/constants.java.tmpl", filters=java_filters,
+ lstrip_blocks=True, trim_blocks=True)
def GenerateConstantsSource(self, module):
exports = self.GetJinjaExports()
exports.update({"main_entity": GetConstantsMainEntityName(module),
@@ -213,21 +182,6 @@
self.Write(self.GenerateEnumSource(enum),
"%s.java" % GetNameForElement(enum))
- for struct in self.module.structs:
- self.Write(self.GenerateStructSource(struct),
- "%s.java" % GetNameForElement(struct))
-
if self.module.constants:
self.Write(self.GenerateConstantsSource(self.module),
"%s.java" % GetConstantsMainEntityName(self.module))
-
- def GetJinjaParameters(self):
- return {
- 'lstrip_blocks': True,
- 'trim_blocks': True,
- }
-
- def GetGlobals(self):
- return {
- 'module': self.module,
- }

Powered by Google App Engine
This is Rietveld 408576698