aboutsummaryrefslogtreecommitdiff
path: root/xsd-frontend/semantic-graph/elements.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'xsd-frontend/semantic-graph/elements.hxx')
-rw-r--r--xsd-frontend/semantic-graph/elements.hxx30
1 files changed, 28 insertions, 2 deletions
diff --git a/xsd-frontend/semantic-graph/elements.hxx b/xsd-frontend/semantic-graph/elements.hxx
index dd397f2..ec425f6 100644
--- a/xsd-frontend/semantic-graph/elements.hxx
+++ b/xsd-frontend/semantic-graph/elements.hxx
@@ -195,11 +195,17 @@ namespace XSDFrontend
public:
Boolean
- annotated () const
+ annotated_p () const
{
return annotates_ != 0;
}
+ Annotates&
+ annotated () const
+ {
+ return *annotates_;
+ }
+
Annotation&
annotation ();
@@ -269,11 +275,17 @@ namespace XSDFrontend
public:
Boolean
- annotated () const
+ annotated_p () const
{
return annotates_ != 0;
}
+ Annotates&
+ annotated () const
+ {
+ return *annotates_;
+ }
+
Annotation&
annotation ();
@@ -1186,11 +1198,25 @@ namespace XSDFrontend
}
void
+ clear_left_node (Type& n)
+ {
+ assert (type_ == &n);
+ type_ = 0;
+ }
+
+ void
set_right_node (Specialization& s)
{
specialization_ = &s;
}
+ void
+ clear_right_node (Specialization& s)
+ {
+ assert (specialization_ == &s);
+ specialization_ = 0;
+ }
+
private:
Type* type_;
Specialization* specialization_;