summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-04 20:58:06 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-04 20:58:06 +0000
commite918a17e76945beee5edb559fbe5a885b59b0eb6 (patch)
tree10fd5d840329ed7fd7ba13e6dd8546c4cf5e79ce
parent5c1f13f551811eab35ddf07e22668f3c8984e36e (diff)
downloadchromium_src-e918a17e76945beee5edb559fbe5a885b59b0eb6.zip
chromium_src-e918a17e76945beee5edb559fbe5a885b59b0eb6.tar.gz
chromium_src-e918a17e76945beee5edb559fbe5a885b59b0eb6.tar.bz2
Makes it so mojom files don't need a module
This is for code that doesn't want to use a namespace, such as chrome. BUG=none TEST=none R=davemoore@chromium.org Review URL: https://codereview.chromium.org/224873002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261863 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--mojo/public/bindings/generators/cpp_templates/module-internal.h.tmpl4
-rw-r--r--mojo/public/bindings/generators/cpp_templates/module.cc.tmpl4
-rw-r--r--mojo/public/bindings/generators/cpp_templates/module.h.tmpl4
-rwxr-xr-xmojo/public/bindings/pylib/parse/mojo_parser.py8
4 files changed, 18 insertions, 2 deletions
diff --git a/mojo/public/bindings/generators/cpp_templates/module-internal.h.tmpl b/mojo/public/bindings/generators/cpp_templates/module-internal.h.tmpl
index d298cc3..e804fc6 100644
--- a/mojo/public/bindings/generators/cpp_templates/module-internal.h.tmpl
+++ b/mojo/public/bindings/generators/cpp_templates/module-internal.h.tmpl
@@ -13,7 +13,9 @@
#include "{{import.module.path}}-internal.h"
{%- endfor %}
+{%- if namespace %}
namespace {{namespace}} {
+{%- endif %}
{#--- Wrapper forward declarations #}
{% for struct in structs %}
@@ -32,6 +34,8 @@ namespace internal {
#pragma pack(pop)
} // namespace internal
+{%- if namespace %}
} // namespace {{namespace}}
+{%- endif %}
#endif // {{header_guard}}
diff --git a/mojo/public/bindings/generators/cpp_templates/module.cc.tmpl b/mojo/public/bindings/generators/cpp_templates/module.cc.tmpl
index 33bd46b..d99a3e2 100644
--- a/mojo/public/bindings/generators/cpp_templates/module.cc.tmpl
+++ b/mojo/public/bindings/generators/cpp_templates/module.cc.tmpl
@@ -12,7 +12,9 @@
#include "mojo/public/cpp/bindings/lib/bindings_serialization.h"
#include "mojo/public/cpp/bindings/lib/message_builder.h"
+{%- if namespace %}
namespace {{namespace}} {
+{%- endif %}
namespace internal {
namespace {
@@ -57,7 +59,9 @@ const uint32_t {{method_name}} = {{method.ordinal}};
{%- for interface in interfaces %}
{%- include "interface_definition.tmpl" %}
{%- endfor %}
+{%- if namespace %}
} // namespace {{namespace}}
+{%- endif %}
#if defined(__clang__)
#pragma clang diagnostic pop
diff --git a/mojo/public/bindings/generators/cpp_templates/module.h.tmpl b/mojo/public/bindings/generators/cpp_templates/module.h.tmpl
index 1912d5c..c223386 100644
--- a/mojo/public/bindings/generators/cpp_templates/module.h.tmpl
+++ b/mojo/public/bindings/generators/cpp_templates/module.h.tmpl
@@ -16,7 +16,9 @@
#include "{{import.module.path}}.h"
{%- endfor %}
+{%- if namespace %}
namespace {{namespace}} {
+{%- endif %}
{#--- Enums #}
{% for enum in enums %}
@@ -43,6 +45,8 @@ namespace {{namespace}} {
{% include "interface_stub_declaration.tmpl" %}
{%- endfor %}
+{%- if namespace %}
} // namespace {{namespace}}
+{%- endif %}
#endif // {{header_guard}}
diff --git a/mojo/public/bindings/pylib/parse/mojo_parser.py b/mojo/public/bindings/pylib/parse/mojo_parser.py
index 4d63490..3c021df 100755
--- a/mojo/public/bindings/pylib/parse/mojo_parser.py
+++ b/mojo/public/bindings/pylib/parse/mojo_parser.py
@@ -70,11 +70,15 @@ class Parser(object):
def p_root(self, p):
"""root : import root
- | module"""
+ | module
+ | definitions"""
if len(p) > 2:
p[0] = _ListFromConcat(p[1], p[2])
else:
- p[0] = [p[1]]
+ if p[1][0] != 'MODULE':
+ p[0] = [('MODULE', '', p[1])]
+ else:
+ p[0] = [p[1]]
def p_import(self, p):
"""import : IMPORT STRING_LITERAL"""