diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-03-16 17:30:38 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-03-16 17:30:38 +0200 |
commit | 82eff8250e7e0692fddb0a60d16332039b10a5a2 (patch) | |
tree | 39d80087e77f8c2838962b02f6918d36d3c1cf57 | |
parent | 5029f8665190879285787a9dcdaf5f997cadd2e2 (diff) |
Use resolve_element() instead of _member()
Since the element may itself derive the type from its substitution group
root.
-rw-r--r-- | xsd-frontend/parser.cxx | 2 | ||||
-rw-r--r-- | xsd-frontend/semantic-graph/elements.hxx | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/xsd-frontend/parser.cxx b/xsd-frontend/parser.cxx index 6a37475..32e6cb1 100644 --- a/xsd-frontend/parser.cxx +++ b/xsd-frontend/parser.cxx @@ -421,7 +421,7 @@ namespace XSDFrontend // if (!e.typed_p ()) { - resolve_member (root); // Make sure the type is resolved. + resolve_element (root); // Make sure the type is resolved. s_.new_edge<Belongs> (e, root.type ()); } } diff --git a/xsd-frontend/semantic-graph/elements.hxx b/xsd-frontend/semantic-graph/elements.hxx index 98fb180..d295a17 100644 --- a/xsd-frontend/semantic-graph/elements.hxx +++ b/xsd-frontend/semantic-graph/elements.hxx @@ -10,6 +10,7 @@ #include <list> #include <vector> #include <iosfwd> +#include <cstddef> // std::size_t #include <utility> // std::pair #include <cstdlib> // abort #include <cassert> @@ -342,6 +343,12 @@ namespace XSDFrontend return names_.end (); } + std::size_t + names_size () const + { + return names_.size (); + } + virtual NamesIteratorPair find (Name const& name) const { |