diff options
Diffstat (limited to 'xsde/cxx/hybrid/serializer-header.cxx')
-rw-r--r-- | xsde/cxx/hybrid/serializer-header.cxx | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/xsde/cxx/hybrid/serializer-header.cxx b/xsde/cxx/hybrid/serializer-header.cxx index e78430d..2297474 100644 --- a/xsde/cxx/hybrid/serializer-header.cxx +++ b/xsde/cxx/hybrid/serializer-header.cxx @@ -552,7 +552,7 @@ namespace CXX // c-tor // - if (rec || (tiein && hb)) + if ((rec && !restriction) || (tiein && hb)) os << name << " ();" << endl; @@ -586,7 +586,7 @@ namespace CXX } } - if (rec) + if (rec && !restriction) { // _post // @@ -604,7 +604,8 @@ namespace CXX // reset // - if (reset && (rec || (mixin && recursive_base (c)))) + if (reset && ((rec && !restriction) || + (mixin && recursive_base (c)))) { // If we are using mixin and this type has a base with _reset(), // then we need to provide _reset() in the whole hierarchy to @@ -615,7 +616,6 @@ namespace CXX << endl; } - if (tiein && hb) os << "public:" << endl << fq_name (c.inherits ().base (), "s:impl") << " base_impl_;" |