diff options
Diffstat (limited to 'odb/odb/semantics/unit.cxx')
-rw-r--r-- | odb/odb/semantics/unit.cxx | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/odb/odb/semantics/unit.cxx b/odb/odb/semantics/unit.cxx new file mode 100644 index 0000000..4f92aed --- /dev/null +++ b/odb/odb/semantics/unit.cxx @@ -0,0 +1,42 @@ +// file : odb/semantics/unit.cxx +// license : GNU GPL v3; see accompanying LICENSE file + +#include <odb/gcc.hxx> + +#include <libcutl/compiler/type-info.hxx> +#include <odb/semantics/unit.hxx> + +namespace semantics +{ + unit:: + unit (path const& file) + : node (file, 1, 1, global_namespace), graph_ (*this) + { + // Use a special edge to get this->name() return the global + // namespace name (""). + // + new_edge<global_names> (*this, *this); + node::unit (*this); + } + + // type info + // + namespace + { + struct init + { + init () + { + using compiler::type_info; + + // unit + // + { + type_info ti (typeid (unit)); + ti.add_base (typeid (namespace_)); + insert (ti); + } + } + } init_; + } +} |