diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2020-12-15 22:23:46 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2021-02-25 13:39:56 +0300 |
commit | 949a9f572341b6cd07690f0b78b1b1941d320055 (patch) | |
tree | a4b9a32fb5a4cd6a46a17718cc854697df49c920 /xsd-frontend/semantic-graph/complex.hxx | |
parent | 061b59ec50c40e8757c5e9237f45a2c7ade36d62 (diff) |
Switch to build2
Diffstat (limited to 'xsd-frontend/semantic-graph/complex.hxx')
-rw-r--r-- | xsd-frontend/semantic-graph/complex.hxx | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/xsd-frontend/semantic-graph/complex.hxx b/xsd-frontend/semantic-graph/complex.hxx deleted file mode 100644 index 13fc1f8..0000000 --- a/xsd-frontend/semantic-graph/complex.hxx +++ /dev/null @@ -1,93 +0,0 @@ -// file : xsd-frontend/semantic-graph/complex.hxx -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_FRONTEND_SEMANTIC_GRAPH_COMPLEX_HXX -#define XSD_FRONTEND_SEMANTIC_GRAPH_COMPLEX_HXX - -#include <xsd-frontend/semantic-graph/elements.hxx> -#include <xsd-frontend/semantic-graph/compositors.hxx> - -namespace XSDFrontend -{ - namespace SemanticGraph - { - class Complex: public virtual Type, public virtual Scope - { - public: - bool - abstract_p () const {return abstract_;} - - bool - mixed_p () const - { - if (mixed_) - return true; - - // If we have empty content, then we have the same content - // type as our base. - // - if (!contains_compositor_p () && inherits_p ()) - { - if (Complex* b = dynamic_cast<Complex*> (&inherits ().base ())) - return b->mixed_p (); - } - - return false; - } - - public: - bool - contains_compositor_p () const - { - return contains_compositor_ != 0; - } - - ContainsCompositor& - contains_compositor () - { - assert (contains_compositor_ != 0); - return *contains_compositor_; - } - - public: - void - mixed_p (bool m) - { - mixed_ = m; - } - - public: - Complex (Path const& file, - unsigned long line, - unsigned long column, - bool abstract); - - void - add_edge_left (ContainsCompositor& e) - { - contains_compositor_ = &e; - } - - void - remove_edge_left (ContainsCompositor& e) - { - assert (contains_compositor_ == &e); - contains_compositor_ = 0; - } - - using Type::add_edge_right; - using Type::add_edge_left; - using Scope::add_edge_left; - - protected: - Complex (); // For virtual inheritance (Enumeration). - - private: - bool abstract_; - bool mixed_; - ContainsCompositor* contains_compositor_; - }; - } -} - -#endif // XSD_FRONTEND_SEMANTIC_GRAPH_COMPLEX_HXX |