diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2015-04-18 00:02:05 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2015-04-18 00:02:05 +0200 |
commit | 6597de68e459eb5f6f02d2b0662637b04d2baea1 (patch) | |
tree | a4cad1dd601d6bcbe9ae157741373315d67d3439 /src/output_source.cpp | |
parent | a2a663dafd53cbebfa510f6dbd19aed6cc545e32 (diff) | |
download | solar-6597de68e459eb5f6f02d2b0662637b04d2baea1.tar solar-6597de68e459eb5f6f02d2b0662637b04d2baea1.zip |
Add support for C++ namespaces
Diffstat (limited to 'src/output_source.cpp')
-rw-r--r-- | src/output_source.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/output_source.cpp b/src/output_source.cpp index 7000ef9..576ecbc 100644 --- a/src/output_source.cpp +++ b/src/output_source.cpp @@ -213,6 +213,13 @@ void output_source_t::write() { write_line(); } + if (!get_generator()->get_grammar().ns.empty()) { + for (const std::string &ns : get_generator()->get_grammar().ns) + write_line("namespace ", ns, " {"); + + write_line(); + } + emit_types(); write_line(); @@ -229,6 +236,13 @@ void output_source_t::write() { write_line(); emit_push(); + + if (!get_generator()->get_grammar().ns.empty()) { + write_line(); + + for (size_t i = 0; i < get_generator()->get_grammar().ns.size(); i++) + write_line("}"); + } } } |