Index: third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/union_definition.tmpl |
diff --git a/third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/union_definition.tmpl b/third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/union_definition.tmpl |
deleted file mode 100644 |
index 087499a0d5d491fc7f65796ccf5563c8a1d37c83..0000000000000000000000000000000000000000 |
--- a/third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/union_definition.tmpl |
+++ /dev/null |
@@ -1,96 +0,0 @@ |
-{%- import "validation_macros.tmpl" as validation_macros %} |
-{%- set class_name = union.name ~ "_Data" %} |
-{%- set enum_name = union.name ~ "_Tag" -%} |
- |
-// static |
-{{class_name}}* {{class_name}}::New(mojo::internal::Buffer* buf) { |
- return new (buf->Allocate(sizeof({{class_name}}))) {{class_name}}(); |
-} |
- |
-// static |
-bool {{class_name}}::Validate(const void* data, |
- mojo::internal::BoundsChecker* bounds_checker, |
- bool inlined) { |
- if (!data) { |
- return true; |
- } |
- |
- if (!mojo::internal::IsAligned(data)) { |
- ReportValidationError(mojo::internal::VALIDATION_ERROR_MISALIGNED_OBJECT); |
- return false; |
- } |
- |
- // If the union is inlined in another structure its memory was already claimed. |
- // This ONLY applies to the union itself, NOT anything which the union points |
- // to. |
- if (!inlined && !bounds_checker->ClaimMemory(data, sizeof({{class_name}}))) { |
- ReportValidationError( |
- mojo::internal::VALIDATION_ERROR_ILLEGAL_MEMORY_RANGE); |
- return false; |
- } |
- const {{class_name}}* object = static_cast<const {{class_name}}*>(data); |
- MOJO_ALLOW_UNUSED_LOCAL(object); |
- |
- switch (object->tag) { |
-{% for field in union.fields %} |
- case {{enum_name}}::{{field.name|upper}}: { |
-{{ validation_macros.validate_union_field(field, union)|indent(8) }} |
- } |
-{%- endfor %} |
- default: { |
- ReportValidationError( |
- mojo::internal::VALIDATION_ERROR_UNKNOWN_UNION_TAG, |
- "unknown tag in {{union.name}}"); |
- return false; |
- } |
- } |
-} |
- |
-void {{class_name}}::set_null() { |
- size = 0U; |
- tag = static_cast<{{enum_name}}>(0); |
- data.unknown = 0U; |
-} |
- |
-{{class_name}}::{{class_name}}() { |
-} |
- |
-void {{class_name}}::EncodePointersAndHandles( |
- std::vector<mojo::Handle>* handles) { |
- switch (tag) { |
-{%- for field in union.fields %} |
- case {{enum_name}}::{{field.name|upper}}: { |
-{%- if field.kind|is_object_kind %} |
- mojo::internal::Encode(&data.f_{{field.name}}, handles); |
-{%- elif field.kind|is_any_handle_kind %} |
- mojo::internal::EncodeHandle(&data.f_{{field.name}}, handles); |
-{%- elif field.kind|is_interface_kind %} |
- mojo::internal::EncodeHandle( |
- reinterpret_cast<mojo::internal::Interface_Data*>( |
- &data.f_{{field.name}}), handles); |
-{%- endif %} |
- return; |
- } |
-{%- endfor %} |
- } |
-} |
- |
-void {{class_name}}::DecodePointersAndHandles( |
- std::vector<mojo::Handle>* handles) { |
- switch (tag) { |
-{%- for field in union.fields %} |
- case {{enum_name}}::{{field.name|upper}}: { |
-{%- if field.kind|is_object_kind %} |
- mojo::internal::Decode(&data.f_{{field.name}}, handles); |
-{%- elif field.kind|is_any_handle_kind %} |
- mojo::internal::DecodeHandle(&data.f_{{field.name}}, handles); |
-{%- elif field.kind|is_interface_kind %} |
- mojo::internal::DecodeHandle( |
- reinterpret_cast<mojo::internal::Interface_Data*>( |
- &data.f_{{field.name}}), handles); |
-{%- endif %} |
- return; |
- } |
-{%- endfor %} |
- } |
-} |