diff options
Diffstat (limited to 'xsd')
-rw-r--r-- | xsd/cxx/tree/tree-header.cxx | 8 | ||||
-rw-r--r-- | xsd/cxx/tree/tree-inline.cxx | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/xsd/cxx/tree/tree-header.cxx b/xsd/cxx/tree/tree-header.cxx index f576645..09bbe78 100644 --- a/xsd/cxx/tree/tree-header.cxx +++ b/xsd/cxx/tree/tree-header.cxx @@ -703,7 +703,13 @@ namespace CXX // default c-tor // - if (options.generate_default_ctor ()) + bool list_based ( + ult_base.is_a<SemanticGraph::List> () || + ult_base.is_a<SemanticGraph::Fundamental::NameTokens> () || + ult_base.is_a<SemanticGraph::Fundamental::IdRefs> () || + ult_base.is_a<SemanticGraph::Fundamental::Entities> ()); + + if (options.generate_default_ctor () || list_based) { if (doxygen) { diff --git a/xsd/cxx/tree/tree-inline.cxx b/xsd/cxx/tree/tree-inline.cxx index 500ee73..d2ee0ba 100644 --- a/xsd/cxx/tree/tree-inline.cxx +++ b/xsd/cxx/tree/tree-inline.cxx @@ -297,7 +297,13 @@ namespace CXX // default c-tor // - if (options.generate_default_ctor ()) + bool list_based ( + ult_base.is_a<SemanticGraph::List> () || + ult_base.is_a<SemanticGraph::Fundamental::NameTokens> () || + ult_base.is_a<SemanticGraph::Fundamental::IdRefs> () || + ult_base.is_a<SemanticGraph::Fundamental::Entities> ()); + + if (options.generate_default_ctor () || list_based) { os << inl << name << "::" << endl |