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

Unified Diff: mojo/public/tools/bindings/generators/go_templates/mojom_type_macros.tmpl

Issue 1719873003: Mojom runtime type info: New implementation for Go. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Rebasing Created 4 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: mojo/public/tools/bindings/generators/go_templates/mojom_type_macros.tmpl
diff --git a/mojo/public/tools/bindings/generators/go_templates/mojom_type_macros.tmpl b/mojo/public/tools/bindings/generators/go_templates/mojom_type_macros.tmpl
deleted file mode 100644
index 9424545120dd562fe592e3799836975a1bcb24cf..0000000000000000000000000000000000000000
--- a/mojo/public/tools/bindings/generators/go_templates/mojom_type_macros.tmpl
+++ /dev/null
@@ -1,232 +0,0 @@
-// 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 writeMojomType(typepkg, type, pkg, exported=true, topLevel=true) -%}
-{%- if type|mojom_type(typepkg) != "" -%}{#- simple kind case -#}
- &{{type|mojom_type(typepkg)}}
-{%- elif type|is_array -%}
- &{{writeTypeArrayType(typepkg, type, pkg, exported)}}
-{%- elif type|is_map -%}
- &{{writeTypeMapType(typepkg, type, pkg, exported)}}
-{%- elif type|is_enum or type|is_struct or type|is_union -%}
- {%- if topLevel -%}
- {%- if type|is_enum -%}
- {{writeMojomEnumType(typepkg, type, pkg, exported)}}
- {%- elif type|is_struct -%}
- {{writeMojomStructType(typepkg, type, pkg, exported)}}
- {%- else -%} {#- Must be a union -#}
- {{writeMojomUnionType(typepkg, type, pkg, exported)}}
- {%- endif -%}
- {%- else -%}
- {{writeTypeTypeReference(typepkg, type, pkg)}}
- {%- endif -%}
-{%- elif type|is_interface or type|is_interface_request -%}
- {{writeTypeTypeReference(typepkg, type, pkg)}}
-{%- else -%}
- ERROR: UNSUPPORTED TYPE
-{%- endif -%}
-{%- endmacro -%}
-
-{%- macro writeTypeTypeReference(typepkg, type, pkg) -%}
-&{{typepkg}}TypeTypeReference{
- Value: {{writeTypeReference(typepkg, type, pkg)}},
-}
-{%- endmacro -%}
-
-{%- macro writeTypeReference(typepkg, type, pkg) -%}
-{{typepkg}}TypeReference {
- {%- if type|is_nullable -%}
- Nullable: true,
- {%- endif -%}
- {%- if type|is_interface_request -%}{# Interface request collapses to interface. #}
- IsInterfaceRequest: true,
- Identifier: &{{writePackagedTypeID(typepkg, type.kind, pkg)}},
- TypeKey: &{{writePackagedTypeID(typepkg, type.kind, pkg)}},
- {%- else -%}
- Identifier: &{{writePackagedTypeID(typepkg, type, pkg)}},
- TypeKey: &{{writePackagedTypeID(typepkg, type, pkg)}},
- {%- endif -%}
-}
-{%- endmacro -%}
-
-{%- macro writePackagedTypeID(typepkg, type, pkg) -%}
-{%- if type|package != '' -%}{{type|package}}.{%- endif -%}ID_{{type|mojom_type_identifier}}
-{%- endmacro -%}
-
-
-{%- macro writeMojomTypeDef(typepkg, type, pkg, exported=True) -%}
-{%- if should_gen_mojom_types -%}
-{%- if type|is_enum -%}
-// String names and labels used by the MojomEnum types.
-var (
- enumName_{{type|name}} = "{{type|name}}"
- enumFullIdentifier_{{type|name}} = "{{type|fullidentifier}}"
-{% for field in type.fields %}
- enumFieldName_{{type|name}}_{{field|name}} = "{{field|name}}"
-{% endfor %}
-)
-
-func {{type|mojom_type_identifier}}() {{typepkg}}MojomEnum {
- return {{ writeMojomType(typepkg, type, pkg, exported) }}
-}
-{%- elif type|is_struct -%}
-// String names and labels used by the MojomStruct types.
-var (
- structName_{{type|name}} = "{{type|name}}"
- structFullIdentifier_{{type|name}} = "{{type|fullidentifier}}"
-{% for field in type.fields %}
- structFieldName_{{type|name}}_{{field|name}} = "{{field|name}}"
-{% endfor %}
-)
-
-func {{type|mojom_type_identifier}}() {{typepkg}}MojomStruct {
- return {{ writeMojomType(typepkg, type, pkg, exported) }}
-}
-{%- elif type|is_union -%}
-// String names and labels used by the MojomUnion types.
-var (
- unionName_{{type|name}} = "{{type|name}}"
- unionFullIdentifier_{{type|name}} = "{{type|fullidentifier}}"
-{% for field in type.fields %}
- unionFieldName_{{type|name}}_{{field|name}} = "{{field|name}}"
-{% endfor %}
-)
-
-func {{type|mojom_type_identifier}}() {{typepkg}}MojomUnion {
- return {{ writeMojomType(typepkg, type, pkg, exported) }}
-}
-{%- elif type|is_interface -%}
-var (
- interfaceName_{{type|name}} = "{{type|name}}"
- interfaceFullIdentifier_{{type|name}} = "{{type|fullidentifier}}"
-{% for method in type.methods %}
- interfaceMethodName_{{type|name}}_{{method|name}} = "{{method|name}}"
-{% endfor %}
-)
-
-func {{type|mojom_type_identifier}}() {{typepkg}}MojomInterface {
- responseParamsMap := make(map[string]*{{typepkg}}MojomStruct)
- _ = responseParamsMap // To avoid the declared but unused compiler error
-{% for method in type.methods %}
- {% if method|has_response %}
- mstruct_{{method|name}} := {{method.response_param_struct|mojom_type_identifier}}()
- responseParamsMap[interfaceMethodName_{{type|name}}_{{method|name}}] = &mstruct_{{method|name}}
- {% endif %}
-{% endfor %}
- return {{typepkg}}MojomInterface{
- DeclData: &{{typepkg}}DeclarationData{
- ShortName: &interfaceName_{{type|name}},
- FullIdentifier: &interfaceFullIdentifier_{{type|name}},
- },
- Methods: map[uint32]{{typepkg}}MojomMethod{
-{%- for method in type.methods -%}
- {{type|name(False)}}_{{method|name}}_Name: {{typepkg}}MojomMethod{
- DeclData: &{{typepkg}}DeclarationData{
- ShortName: &interfaceMethodName_{{type|name}}_{{method|name}},
- },
- Parameters: {{method.param_struct|mojom_type_identifier}}(),
- ResponseParams: responseParamsMap[interfaceMethodName_{{type|name}}_{{method|name}}],
- },
-{%- endfor -%}
- },
- }
-}
-{%- else -%}
-BAD TYPE NAME GIVEN
-{%- endif -%}
-{%- endif -%}
-{%- endmacro -%}
-
-{%- macro writeTypeArrayType(typepkg, type, pkg, exported) -%}
- {{typepkg}}TypeArrayType{
- Value: {{typepkg}}ArrayType{
- {%- if type|is_nullable -%}
- Nullable: true,
- {%- endif -%}
- {%- if type.length is not none -%}
- FixedLength: {{type.length}},
- {%- endif -%}
- ElementType: {{writeMojomType(typepkg, type.kind, pkg, exported, false)}},
- },
- }
-{%- endmacro -%}
-
-{%- macro writeTypeMapType(typepkg, type, pkg, exported) -%}
- {{typepkg}}TypeMapType{
- Value: {{typepkg}}MapType{
- {%- if type|is_nullable -%}
- Nullable: true,
- {%- endif -%}
- KeyType: {{writeMojomType(typepkg, type.key_kind, pkg, exported, false)}},
- ValueType: {{writeMojomType(typepkg, type.value_kind, pkg, exported, false)}},
- },
- }
-{%- endmacro -%}
-
-{%- macro writeMojomEnumType(typepkg, type, pkg, exported) -%}
- {{typepkg}}MojomEnum{
- DeclData: &{{typepkg}}DeclarationData{
- ShortName: &enumName_{{type|name}},
- FullIdentifier: &enumFullIdentifier_{{type|name}},
- },
- Values: []{{typepkg}}EnumValue{
- {%- for field in type.fields -%}
- {{typepkg}}EnumValue{
- DeclData: &{{typepkg}}DeclarationData{
- ShortName: &enumFieldName_{{type|name}}_{{field|name}},
- },
- EnumTypeKey: {{writePackagedTypeID(typepkg, type, pkg)}},
- IntValue: int32({{field.numeric_value}}),
- },
- {%- endfor -%}
- },
- }
-{%- endmacro -%}
-
-
-{%- macro writeMojomStructType(typepkg, type, pkg, exported) -%}
- {{typepkg}}MojomStruct{
- DeclData: &{{typepkg}}DeclarationData{
- ShortName: &structName_{{type|name}},
- FullIdentifier: &structFullIdentifier_{{type|name}},
- },
- {%- if type|is_nullable -%}
- Nullable: true,
- {%- endif -%}
- Fields: []{{typepkg}}StructField{
- {%- for field in type.fields -%}
- {{typepkg}}StructField{
- DeclData: &{{typepkg}}DeclarationData{
- ShortName: &structFieldName_{{type|name}}_{{field|name}},
- },
- Type: {{writeMojomType(typepkg, field.kind, pkg, exported, false)}},
- },
- {%- endfor -%}
- },
- }
-{%- endmacro -%}
-
-
-{%- macro writeMojomUnionType(typepkg, type, pkg, exported) -%}
- {{typepkg}}MojomUnion{
- DeclData: &{{typepkg}}DeclarationData{
- ShortName: &unionName_{{type|name}},
- FullIdentifier: &unionFullIdentifier_{{type|name}},
- },
- {%- if type|is_nullable -%}
- Nullable: true,
- {%- endif -%}
- Fields: []{{typepkg}}UnionField{
- {%- for field in type.fields -%}
- {{typepkg}}UnionField{
- DeclData: &{{typepkg}}DeclarationData{
- ShortName: &unionFieldName_{{type|name}}_{{field|name}},
- },
- Type: {{writeMojomType(typepkg, field.kind, pkg, exported, false)}},
- Tag: {{field.ordinal}},
- },
- {%- endfor -%}
- },
- }
-{%- endmacro -%}

Powered by Google App Engine
This is Rietveld 408576698