summaryrefslogtreecommitdiff
path: root/odb/header.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/header.cxx')
-rw-r--r--odb/header.cxx8
1 files changed, 4 insertions, 4 deletions
diff --git a/odb/header.cxx b/odb/header.cxx
index 0a01311..2155ed8 100644
--- a/odb/header.cxx
+++ b/odb/header.cxx
@@ -60,9 +60,10 @@ traverse_object (type& c)
{
using semantics::data_member;
- data_member* id (id_member (c));
+ data_member_path* id (id_member (c));
+ data_member* idf (id ? id->front () : 0);
bool auto_id (id && auto_ (*id));
- bool base_id (id && &id->scope () != &c); // Comes from base.
+ bool base_id (id && &idf->scope () != &c); // Comes from base.
data_member* opt (context::optimistic (c));
@@ -157,8 +158,7 @@ traverse_object (type& c)
{
if (base_id)
{
- semantics::class_& b (
- dynamic_cast<semantics::class_&> (id->scope ()));
+ semantics::class_& b (dynamic_cast<semantics::class_&> (idf->scope ()));
string const& type (class_fq_name (b));
os << "typedef object_traits< " << type << " >::id_type id_type;";