diff options
Diffstat (limited to 'mojo/public/tools')
4 files changed, 14 insertions, 2 deletions
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl index 52aab99..dfad049 100644 --- a/mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl +++ b/mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl @@ -26,7 +26,11 @@ {%- endfor %} {%- for import in imports %} +{%- if variant %} +#include "{{"%s-%s-internal.h"|format(import.module.path, variant)}}" +{%- else %} #include "{{import.module.path}}-internal.h" +{%- endif %} {%- endfor %} namespace mojo { diff --git a/mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl index 901fa69..d506e6c 100644 --- a/mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl +++ b/mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl @@ -35,7 +35,11 @@ #include "mojo/public/cpp/bindings/struct_traits.h" #include "{{variant_path}}-internal.h" {%- for import in imports %} +{%- if variant %} +#include "{{"%s-%s.h"|format(import.module.path, variant)}}" +{%- else %} #include "{{import.module.path}}.h" +{%- endif %} {%- endfor %} {%- if not for_blink %} #include "mojo/public/cpp/bindings/array.h" diff --git a/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_declaration.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_declaration.tmpl index d5e224b..2e88cb4 100644 --- a/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_declaration.tmpl +++ b/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_declaration.tmpl @@ -43,7 +43,7 @@ namespace {{variant}} { {%- endif %} -{%- if not variant and not struct|is_native_only_kind %} +{%- if not variant and not struct|is_native_only_kind %} {# NOTE: Generated Reader instances are intentionally cheap to copy and devoid of heap allocations. They should stay this way. #} diff --git a/mojo/public/tools/bindings/generators/mojom_cpp_generator.py b/mojo/public/tools/bindings/generators/mojom_cpp_generator.py index 184c8bb..0d28239 100644 --- a/mojo/public/tools/bindings/generators/mojom_cpp_generator.py +++ b/mojo/public/tools/bindings/generators/mojom_cpp_generator.py @@ -84,6 +84,8 @@ def GetNamePartsForKind(kind, add_same_module_namespaces, add_variant, parts = [] if kind.imported_from: parts.extend(NamespaceToArray(kind.imported_from["namespace"])) + if _variant and add_variant: + parts.append(_variant) elif add_same_module_namespaces: if hasattr(kind, "module"): parts.extend(NamespaceToArray(kind.module.namespace)) @@ -97,7 +99,7 @@ def GetNamePartsForKind(kind, add_same_module_namespaces, add_variant, return parts def GetNameForKind(kind, internal=False): - parts = GetNamePartsForKind(kind, False, False, internal) + parts = GetNamePartsForKind(kind, False, True, internal) return "::".join(parts) def GetQualifiedNameForKind(kind, internal=False): @@ -382,6 +384,8 @@ def TranslateConstants(token, kind): name = [] if token.imported_from: name.extend(NamespaceToArray(token.namespace)) + if _variant: + name.append(_variant) if token.parent_kind: name.append(token.parent_kind.name) if isinstance(token, mojom.EnumValue): |