aboutsummaryrefslogtreecommitdiff
path: root/odb/tracer
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-08-19 17:05:24 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-08-19 17:05:24 +0200
commit2b02d443ab344bc02dfc2891fb1a57c6520c393f (patch)
tree3bff59757b0ef986d70c67def93d689fb18a5b66 /odb/tracer
parent33cd64535d2307a2e7884ee0796e1aae42937aaf (diff)
Use type names as specified in the header that we compile
Diffstat (limited to 'odb/tracer')
-rw-r--r--odb/tracer/header.cxx20
1 files changed, 11 insertions, 9 deletions
diff --git a/odb/tracer/header.cxx b/odb/tracer/header.cxx
index 0516847..dee0498 100644
--- a/odb/tracer/header.cxx
+++ b/odb/tracer/header.cxx
@@ -28,13 +28,6 @@ namespace tracer
string const& type (c.fq_name ());
- // Find the id member and type.
- //
- id_member t;
- t.traverse (c);
- semantics::data_member& id (*t.member ());
- semantics::type& id_type (id.type ());
-
os << "// " << c.name () << endl
<< "//" << endl;
@@ -51,8 +44,14 @@ namespace tracer
// id_type
//
- os << "typedef " << id_type.fq_name () << " id_type;"
- << endl;
+ {
+ id_member_.traverse (c);
+ semantics::data_member& id (*id_member_.member ());
+
+ os << "typedef " << id.type ().fq_name (id.belongs ().hint ()) <<
+ " id_type;"
+ << endl;
+ }
// type_name ()
//
@@ -95,6 +94,9 @@ namespace tracer
os << "};";
}
+
+ private:
+ id_member id_member_;
};
}