diff options
Diffstat (limited to 'cli/generator.cxx')
-rw-r--r-- | cli/generator.cxx | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/cli/generator.cxx b/cli/generator.cxx index cf9de69..c23f382 100644 --- a/cli/generator.cxx +++ b/cli/generator.cxx @@ -13,6 +13,10 @@ #include <cutl/compiler/code-stream.hxx> #include <cutl/compiler/cxx-indenter.hxx> +#include "header.hxx" +#include "source.hxx" +#include "inline.hxx" + #include "context.hxx" #include "generator.hxx" @@ -154,7 +158,7 @@ generate (semantics::cli_unit& unit, path const& p) // { cxx_filter filt (hxx); - context ctx (hxx); + context ctx (hxx, unit); string guard (make_guard (hxx_name, "", ctx)); @@ -162,6 +166,7 @@ generate (semantics::cli_unit& unit, path const& p) << "#define " << guard << endl << endl; + generate_header (ctx); if (inl) { @@ -177,17 +182,23 @@ generate (semantics::cli_unit& unit, path const& p) if (inl) { cxx_filter filt (ixx); - context ctx (ixx); + context ctx (ixx, unit); + generate_inline (ctx); } // CXX // { cxx_filter filt (cxx); - context ctx (cxx); + context ctx (cxx, unit); cxx << "#include \"" << hxx_name << "\"" << endl << endl; + + if (!inl) + generate_inline (ctx); + + generate_source (ctx); } auto_rm.cancel (); |