Index: mojo/public/tools/bindings/generators/mojom_python_generator.py |
diff --git a/mojo/public/tools/bindings/generators/mojom_python_generator.py b/mojo/public/tools/bindings/generators/mojom_python_generator.py |
index ca9625ebc784a3c77d17c89028d31f1dde1fda82..37d39589ad929ff19540e089417ea21924e134ea 100644 |
--- a/mojo/public/tools/bindings/generators/mojom_python_generator.py |
+++ b/mojo/public/tools/bindings/generators/mojom_python_generator.py |
@@ -34,15 +34,18 @@ def ConstantStyle(name): |
return '_'.join([x.upper() for x in components]) |
def GetNameForElement(element): |
+ if isinstance(element, mojom.EnumValue): |
+ return (UpperCamelCase(element.enum_name) + '.' + |
+ ConstantStyle(element.name)) |
if isinstance(element, (mojom.NamedValue, |
mojom.Constant)): |
return ConstantStyle(element.name) |
raise Exception('Unexpected element: ' % element) |
-def TranslateConstants(token): |
+def ExpressionToText(token): |
if isinstance(token, (mojom.EnumValue, mojom.NamedValue)): |
# Both variable and enum constants are constructed like: |
- # NamespaceUid.Struct[.Enum].CONSTANT_NAME |
+ # PythonModule[.Struct][.Enum].CONSTANT_NAME |
name = [] |
if token.imported_from: |
name.append(token.imported_from['python_module']) |
@@ -51,7 +54,7 @@ def TranslateConstants(token): |
if isinstance(token, mojom.EnumValue): |
name.append(GetNameForElement(token)) |
else: |
- name.append(token.name) |
+ name.append(GetNameForElement(token)) |
return '.'.join(name) |
if isinstance(token, mojom.BuiltinValue): |
@@ -66,10 +69,6 @@ def TranslateConstants(token): |
return token |
-def ExpressionToText(value): |
- return TranslateConstants(value) |
- |
- |
class Generator(generator.Generator): |
python_filters = { |
@@ -81,6 +80,7 @@ class Generator(generator.Generator): |
def GeneratePythonModule(self): |
return { |
'imports': self.GetImports(), |
+ 'enums': self.module.enums, |
'module': self.module, |
} |