| Index: mojo/public/tools/bindings/generators/dart_templates/mojom_reference_macros.tmpl
|
| diff --git a/mojo/public/tools/bindings/generators/dart_templates/mojom_reference_macros.tmpl b/mojo/public/tools/bindings/generators/dart_templates/mojom_reference_macros.tmpl
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..177a896bf4caebb9d9aa076389846656ed94a418
|
| --- /dev/null
|
| +++ b/mojo/public/tools/bindings/generators/dart_templates/mojom_reference_macros.tmpl
|
| @@ -0,0 +1,31 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +{%- macro registerType(mapping, typepkg, pkg, type) -%}
|
| +{%- if type|is_enum_kind -%}
|
| + {{mapping}}["{{type|mojom_type_identifier}}"] =
|
| + new {{typepkg}}UserDefinedType()
|
| + ..enumType = _{{type|mojom_type_identifier|lower_camel}}();
|
| +{%- elif type|is_struct_kind -%}
|
| + {{mapping}}["{{type|mojom_type_identifier}}"] =
|
| + new {{typepkg}}UserDefinedType()
|
| + ..structType = _{{type|mojom_type_identifier|lower_camel}}();
|
| + {%- for enum in type.enums %}
|
| + {{ registerType(mapping, typepkg, pkg, enum) }}
|
| + {%- endfor %}
|
| +{%- elif type|is_union_kind -%}
|
| + {{mapping}}["{{type|mojom_type_identifier}}"] =
|
| + new {{typepkg}}UserDefinedType()
|
| + ..unionType = _{{type|mojom_type_identifier|lower_camel}}();
|
| +{%- elif type|is_interface_kind -%}
|
| + {{mapping}}["{{type|mojom_type_identifier}}"] =
|
| + new {{typepkg}}UserDefinedType()
|
| + ..interfaceType = _{{type|mojom_type_identifier|lower_camel}}();
|
| + {%- for enum in type.enums %}
|
| + {{ registerType(mapping, typepkg, pkg, enum) }}
|
| + {%- endfor %}
|
| +{%- else -%}
|
| + {# Simple kinds, arrays, maps, and handles do not need to be registered. #}
|
| +{%- endif -%}
|
| +{%- endmacro -%}
|
|
|