aboutsummaryrefslogtreecommitdiff
path: root/odb/context.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-09-05 10:36:33 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-09-05 10:36:33 +0200
commit428558c89850fe8c79b9c89a943bd996912d12f5 (patch)
treeb6d8af6fd6a82b3e3822f7da4637c7c16ee7100d /odb/context.cxx
parenta7ec19749a76cc262240124f5c71c1ee4051cba7 (diff)
Support for views; native part
Diffstat (limited to 'odb/context.cxx')
-rw-r--r--odb/context.cxx17
1 files changed, 15 insertions, 2 deletions
diff --git a/odb/context.cxx b/odb/context.cxx
index 33d9e08..56b9ab0 100644
--- a/odb/context.cxx
+++ b/odb/context.cxx
@@ -279,6 +279,19 @@ null (semantics::data_member& m, string const& kp)
}
}
+context::class_kind_type context::
+class_kind (semantics::class_& c)
+{
+ if (object (c))
+ return class_object;
+ else if (view (c))
+ return class_view;
+ else if (composite (c))
+ return class_composite;
+ else
+ return class_other;
+}
+
string context::
upcase (string const& s)
{
@@ -1006,10 +1019,10 @@ is_a (semantics::data_member& m,
}
bool context::
-has_a (semantics::type& t, unsigned short flags)
+has_a (semantics::class_& c, unsigned short flags)
{
has_a_impl impl (flags);
- impl.dispatch (t);
+ impl.dispatch (c);
return impl.result ();
}