diff options
author | yzshen <yzshen@chromium.org> | 2016-03-18 17:34:40 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-19 00:37:02 +0000 |
commit | aef38024a1d6d99deb565a89cd7dd8b3bc21f971 (patch) | |
tree | 535b7efd2b728b6fd58f14f5279ef262f6612b34 /mojo/public/tools/bindings/generators | |
parent | 47a37f2d0ea2fea26d57f02dd822fe4cc44eba7a (diff) | |
download | chromium_src-aef38024a1d6d99deb565a89cd7dd8b3bc21f971.zip chromium_src-aef38024a1d6d99deb565a89cd7dd8b3bc21f971.tar.gz chromium_src-aef38024a1d6d99deb565a89cd7dd8b3bc21f971.tar.bz2 |
Mojo C++ bindings: assume that all imported mojoms have the same variant as current mojom.
This CL also disable struct_traits_unittest because variant+typemap is not supported currently.
BUG=596202,596162
Review URL: https://codereview.chromium.org/1816703002
Cr-Commit-Position: refs/heads/master@{#382143}
Diffstat (limited to 'mojo/public/tools/bindings/generators')
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): |