aboutsummaryrefslogtreecommitdiff
path: root/xsd-frontend/semantic-graph
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2014-07-30 10:18:53 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2014-07-30 10:18:53 +0200
commit5005d4d4bd444eed25e3d60bef6ced160a84bb5b (patch)
tree99d73f8d5d65d5e421390d4bf5240873e300dc40 /xsd-frontend/semantic-graph
parentd3f5ac5a3a504a08d91da884edbc28b3e5204429 (diff)
Support for abstract complex types
Diffstat (limited to 'xsd-frontend/semantic-graph')
-rw-r--r--xsd-frontend/semantic-graph/complex.cxx9
-rw-r--r--xsd-frontend/semantic-graph/complex.hxx9
2 files changed, 14 insertions, 4 deletions
diff --git a/xsd-frontend/semantic-graph/complex.cxx b/xsd-frontend/semantic-graph/complex.cxx
index 8433a0e..5ac1d6f 100644
--- a/xsd-frontend/semantic-graph/complex.cxx
+++ b/xsd-frontend/semantic-graph/complex.cxx
@@ -12,14 +12,17 @@ namespace XSDFrontend
{
Complex::
Complex ()
- : mixed_ (false), contains_compositor_ (0)
+ : abstract_ (false), mixed_ (false), contains_compositor_ (0)
{
}
Complex::
- Complex (Path const& file, unsigned long line, unsigned long column)
+ Complex (Path const& file,
+ unsigned long line,
+ unsigned long column,
+ bool abstract)
: Node (file, line, column),
- mixed_ (false), contains_compositor_ (0)
+ abstract_ (abstract), mixed_ (false), contains_compositor_ (0)
{
}
diff --git a/xsd-frontend/semantic-graph/complex.hxx b/xsd-frontend/semantic-graph/complex.hxx
index ac47810..c04de74 100644
--- a/xsd-frontend/semantic-graph/complex.hxx
+++ b/xsd-frontend/semantic-graph/complex.hxx
@@ -16,6 +16,9 @@ namespace XSDFrontend
{
public:
bool
+ abstract_p () const {return abstract_;}
+
+ bool
mixed_p () const
{
if (mixed_)
@@ -55,7 +58,10 @@ namespace XSDFrontend
}
public:
- Complex (Path const& file, unsigned long line, unsigned long column);
+ Complex (Path const& file,
+ unsigned long line,
+ unsigned long column,
+ bool abstract);
void
add_edge_left (ContainsCompositor& e)
@@ -78,6 +84,7 @@ namespace XSDFrontend
Complex (); // For virtual inheritance (Enumeration).
private:
+ bool abstract_;
bool mixed_;
ContainsCompositor* contains_compositor_;
};