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 8b7e2197c08b35824826ac7498b79cd43c82ac03..d037b2efaeb1c4e3928b4edfe26e859010a532b2 100644 |
--- a/mojo/public/tools/bindings/generators/mojom_cpp_generator.py |
+++ b/mojo/public/tools/bindings/generators/mojom_cpp_generator.py |
@@ -147,7 +147,7 @@ def GetCppResultWrapperType(kind): |
def GetCppWrapperType(kind): |
if mojom.IsEnumKind(kind): |
return GetNameForKind(kind) |
- if mojom.IsStructKind(kind): |
+ if mojom.IsStructKind(kind) or mojom.IsUnionKind(kind): |
return "%sPtr" % GetNameForKind(kind) |
if mojom.IsArrayKind(kind): |
return "mojo::Array<%s>" % GetCppArrayArgWrapperType(kind.kind) |
@@ -206,6 +206,8 @@ def GetCppFieldType(kind): |
if mojom.IsStructKind(kind): |
return ("mojo::internal::StructPointer<%s_Data>" % |
GetNameForKind(kind, internal=True)) |
+ if mojom.IsUnionKind(kind): |
+ return "%s_Data" % GetNameForKind(kind, internal=True) |
if mojom.IsArrayKind(kind): |
return "mojo::internal::ArrayPointer<%s>" % GetCppType(kind.kind) |
if mojom.IsMapKind(kind): |