Index: mojo/public/tools/bindings/generators/mojom_cpp_generator.py |
diff --git a/mojo/public/tools/bindings/generators/mojom_cpp_generator.py b/mojo/public/tools/bindings/generators/mojom_cpp_generator.py |
index fde8bc8eaac0106801abc4f84d21d382c9826d5b..1b3e4aadef83adeb34c9b8e8897de235940c9d0a 100644 |
--- a/mojo/public/tools/bindings/generators/mojom_cpp_generator.py |
+++ b/mojo/public/tools/bindings/generators/mojom_cpp_generator.py |
@@ -29,6 +29,13 @@ _kind_to_cpp_type = { |
mojom.DOUBLE: "double", |
} |
+def DefaultValue(field): |
+ if field.default: |
+ if isinstance(field.kind, mojom.Struct): |
+ assert field.default == "default" |
+ return "%s::New()" % GetNameForKind(field.kind) |
+ return ExpressionToText(field.default) |
+ return "" |
def NamespaceToArray(namespace): |
return namespace.split('.') if namespace else [] |
@@ -228,6 +235,7 @@ class Generator(generator.Generator): |
"cpp_result_type": GetCppResultWrapperType, |
"cpp_type": GetCppType, |
"cpp_wrapper_type": GetCppWrapperType, |
+ "default_value": DefaultValue, |
"expression_to_text": ExpressionToText, |
"get_pad": pack.GetPad, |
"has_callbacks": HasCallbacks, |
@@ -239,13 +247,11 @@ class Generator(generator.Generator): |
"is_interface_request_kind": generator.IsInterfaceRequestKind, |
"is_object_kind": generator.IsObjectKind, |
"is_string_kind": generator.IsStringKind, |
- "is_array_kind": lambda kind: isinstance(kind, mojom.Array), |
"is_struct_with_handles": IsStructWithHandles, |
"struct_size": lambda ps: ps.GetTotalSize() + _HEADER_SIZE, |
"struct_from_method": generator.GetStructFromMethod, |
"response_struct_from_method": generator.GetResponseStructFromMethod, |
"stylize_method": generator.StudlyCapsToCamel, |
- "verify_token_type": generator.VerifyTokenType, |
} |
def GetJinjaExports(self): |