diff options
author | Yeongjong Lee <yj34.lee@samsung.com> | 2019-10-17 14:32:29 -0300 |
---|---|---|
committer | Lauro Moura <lauromoura@expertisesolutions.com.br> | 2019-10-17 14:35:37 -0300 |
commit | cfa8baa152625a75eee6b288f111b0d9bc790e5a (patch) | |
tree | efc1be055501ee1e138f53c3c063368c19ef3f07 | |
parent | 711823cb1d7c91d8ec2e97b713e8493162edc03d (diff) | |
download | efl-cfa8baa152625a75eee6b288f111b0d9bc790e5a.tar.gz |
mono: merge namespaces
Summary:
This patch merge namespaces to improve readablity.
Before
```
namespace Efl {
namespace Canvas {
```
After
```
namespace Efl.Canvas {
```
Test Plan: meson setup -Dbindings=mono,cxx -Dmono-beta=true
Reviewers: lauromoura, Jaehyun_Cho
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10436
-rw-r--r-- | src/bin/eolian_mono/eolian/mono/name_helpers.hh | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/bin/eolian_mono/eolian/mono/name_helpers.hh b/src/bin/eolian_mono/eolian/mono/name_helpers.hh index 08b2bc997a..df1405d9d4 100644 --- a/src/bin/eolian_mono/eolian/mono/name_helpers.hh +++ b/src/bin/eolian_mono/eolian/mono/name_helpers.hh @@ -501,15 +501,18 @@ bool open_namespaces(OutputIterator sink, std::vector<std::string> namespaces, C { std::transform(namespaces.begin(), namespaces.end(), namespaces.begin(), managed_namespace); - auto open_namespace = *("namespace " << string << " {\n\n"); - return as_generator(open_namespace).generate(sink, namespaces, context); + std::string joined_namespace = join_namespaces(namespaces, '.'); + if (joined_namespace.empty()) return true; + joined_namespace.pop_back(); + + return as_generator("namespace " << string << " {\n").generate(sink, joined_namespace, context); } template<typename OutputIterator, typename Context> bool close_namespaces(OutputIterator sink, std::vector<std::string> const& namespaces, Context const& context) { - auto close_namespace = (lit("}") % "\n" ) << "\n\n"; - return as_generator(close_namespace).generate(sink, namespaces, context); + if (namespaces.empty()) return true; + return as_generator("}\n\n").generate(sink, attributes::unused, context); } std::string constructor_managed_name(std::string full_name) |