diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2009-09-20 07:04:17 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2009-09-20 07:04:17 +0200 |
commit | f15dcbcb90c92e0ce4c9ff575349b60713fe1f83 (patch) | |
tree | e90adb4e0b581ab7adcc6554f1efd9de381b4684 /cli/generator.cxx | |
parent | ebfe8dc9d7093e932f91a649636e2202630cc16f (diff) |
Add definition unit to context
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 (); |