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

Side by Side Diff: mojo/public/tools/bindings/generators/cpp_templates/union_definition.tmpl

Issue 2226853002: Mojo C++ bindings: add support for UnionTraits. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@85_10_inline_more
Patch Set: . Created 4 years, 4 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 unified diff | Download patch
OLDNEW
1 {%- import "validation_macros.tmpl" as validation_macros %} 1 {%- import "validation_macros.tmpl" as validation_macros %}
2 {%- set class_name = union.name ~ "_Data" %} 2 {%- set class_name = union.name ~ "_Data" %}
3 {%- set enum_name = union.name ~ "_Tag" -%} 3 {%- set enum_name = union.name ~ "_Tag" -%}
4 4
5 // static 5 // static
6 bool {{class_name}}::Validate( 6 bool {{class_name}}::Validate(
7 const void* data, 7 const void* data,
8 mojo::internal::ValidationContext* validation_context, 8 mojo::internal::ValidationContext* validation_context,
9 bool inlined) { 9 bool inlined) {
10 if (!data) 10 if (!data)
(...skipping 15 matching lines...) Expand all
26 {%- endfor %} 26 {%- endfor %}
27 default: { 27 default: {
28 ReportValidationError( 28 ReportValidationError(
29 validation_context, 29 validation_context,
30 mojo::internal::VALIDATION_ERROR_UNKNOWN_UNION_TAG, 30 mojo::internal::VALIDATION_ERROR_UNKNOWN_UNION_TAG,
31 "unknown tag in {{union.name}}"); 31 "unknown tag in {{union.name}}");
32 return false; 32 return false;
33 } 33 }
34 } 34 }
35 } 35 }
36
37 void {{class_name}}::set_null() {
38 size = 0U;
39 tag = static_cast<{{enum_name}}>(0);
40 data.unknown = 0U;
41 }
42
43 {{class_name}}::{{class_name}}() {
44 }
45
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698