diff options
Diffstat (limited to 'xsd-frontend/semantic-graph/elements.hxx')
-rw-r--r-- | xsd-frontend/semantic-graph/elements.hxx | 30 |
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_; |