From 35e4d6dbcb41b8a92a78fc07f4c7163e08107a08 Mon Sep 17 00:00:00 2001 From: "sky@chromium.org" Date: Sun, 16 Mar 2014 05:04:08 +0000 Subject: Fixes bug in bindings generator where we generate an empty switch If the mojom interface has no methods we generate an empty switch statement. Windows compiler doesn't like this. BUG=none TEST=none R=darin@chromium.org Review URL: https://codereview.chromium.org/200523007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257355 0039d316-1c4b-4281-b951-d872f2087c98 --- .../cpp_templates/interface_definition.tmpl | 26 ++++++++++++---------- 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'mojo') diff --git a/mojo/public/bindings/generators/cpp_templates/interface_definition.tmpl b/mojo/public/bindings/generators/cpp_templates/interface_definition.tmpl index 960171c..346595f 100644 --- a/mojo/public/bindings/generators/cpp_templates/interface_definition.tmpl +++ b/mojo/public/bindings/generators/cpp_templates/interface_definition.tmpl @@ -76,21 +76,23 @@ params->{{param.name}}() {%- endmacro %} bool {{class_name}}Stub::Accept(mojo::Message* message) { +{%- if interface.methods %} switch (message->header()->name) { -{%- for method in interface.methods %} - case internal::k{{class_name}}_{{method.name}}_Name: { - internal::{{class_name}}_{{method.name}}_Params_Data* params = - reinterpret_cast( - message->mutable_payload()); +{%- for method in interface.methods %} + case internal::k{{class_name}}_{{method.name}}_Name: { + internal::{{class_name}}_{{method.name}}_Params_Data* params = + reinterpret_cast( + message->mutable_payload()); - if (!params->DecodePointersAndHandles(message)) - return false; - sink_->{{method.name}}({{params(method)}}); - params->CloseHandles(); - break; - } -{%- endfor %} + if (!params->DecodePointersAndHandles(message)) + return false; + sink_->{{method.name}}({{params(method)}}); + params->CloseHandles(); + break; + } +{%- endfor %} } +{%- endif %} return true; } -- cgit v1.1