aboutsummaryrefslogtreecommitdiff
path: root/odb/relational/validator.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/relational/validator.cxx')
-rw-r--r--odb/relational/validator.cxx16
1 files changed, 7 insertions, 9 deletions
diff --git a/odb/relational/validator.cxx b/odb/relational/validator.cxx
index 33d796d..8629588 100644
--- a/odb/relational/validator.cxx
+++ b/odb/relational/validator.cxx
@@ -221,18 +221,16 @@ namespace relational
}
virtual void
- traverse_simple (semantics::data_member& m)
+ traverse_pointer (semantics::data_member& m, semantics::class_&)
{
- if (object_pointer (utype (m)))
+ if (dm_ != 0 && object_pointer (utype (m)))
{
- semantics::data_member& dm (dm_ != 0 ? *dm_ : m);
+ location const& l (dm_->location ());
- os << dm.file () << ":" << dm.line () << ":" << dm.column () << ":"
- << " error: view data member '" << member_prefix_ << m.name ()
- << "' is an object pointer" << endl;
-
- os << dm.file () << ":" << dm.line () << ":" << dm.column () << ":"
- << ": info: views cannot contain object pointers" << endl;
+ error (l) << "nested view data member '" << member_prefix_
+ << m.name () << "' is an object pointer" << endl;
+ info (l) << "views can only contain direct object pointer members"
+ << endl;
valid_ = false;
}