summaryrefslogtreecommitdiff
path: root/odb/semantics/elements.hxx
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/semantics/elements.hxx
parent33cd64535d2307a2e7884ee0796e1aae42937aaf (diff)
Use type names as specified in the header that we compile
Diffstat (limited to 'odb/semantics/elements.hxx')
-rw-r--r--odb/semantics/elements.hxx28
1 files changed, 28 insertions, 0 deletions
diff --git a/odb/semantics/elements.hxx b/odb/semantics/elements.hxx
index 8d9a379..03925f5 100644
--- a/odb/semantics/elements.hxx
+++ b/odb/semantics/elements.hxx
@@ -276,6 +276,14 @@ namespace semantics
return defined_ == 0 && named_.empty ();
}
+ bool
+ fq_anonymous () const;
+
+ // If hint it 0, use the defines edge.
+ //
+ bool
+ fq_anonymous (names* hint) const;
+
string
name () const
{
@@ -285,6 +293,11 @@ namespace semantics
virtual string
fq_name () const;
+ // If hint it 0, use the defines edge.
+ //
+ virtual string
+ fq_name (names* hint) const;
+
scope_type&
scope () const
{
@@ -494,7 +507,21 @@ namespace semantics
}
public:
+ void
+ hint (names& hint)
+ {
+ hint_ = &hint;
+ }
+
+ names*
+ hint () const
+ {
+ return hint_;
+ }
+
+ public:
belongs ()
+ : hint_ (0)
{
}
@@ -513,6 +540,7 @@ namespace semantics
private:
type_type* type_;
instance_type* instance_;
+ names* hint_;
};
//