From c7a135cc66ab0270cebc04664dad7baa2e4c3818 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 14 Apr 2010 18:25:02 +0200 Subject: Handle type customization corner cases --- xsd/cxx/tree/name-processor.cxx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'xsd/cxx/tree/name-processor.cxx') diff --git a/xsd/cxx/tree/name-processor.cxx b/xsd/cxx/tree/name-processor.cxx index a9427a6..a563849 100644 --- a/xsd/cxx/tree/name-processor.cxx +++ b/xsd/cxx/tree/name-processor.cxx @@ -1067,6 +1067,12 @@ namespace CXX { SemanticGraph::Context& cc (c.context ()); + // We leave this set around to allow other mappings to use + // this information. + // + cc.set ("cxx-tree-name-processor-stem-set", NameSet ()); + cc.set ("cxx-tree-name-processor-member-set", NameSet ()); + // Use processed name. // String name (cc.get ("name")); @@ -1078,12 +1084,6 @@ namespace CXX if (renamed_type (c, name) && !name) return; - // We leave this set around to allow other mappings to use - // this information. - // - cc.set ("cxx-tree-name-processor-stem-set", NameSet ()); - cc.set ("cxx-tree-name-processor-member-set", NameSet ()); - NameSet& stem_set ( cc.get ("cxx-tree-name-processor-stem-set")); @@ -1102,7 +1102,8 @@ namespace CXX // SemanticGraph::Type& base (c.inherits ().base ()); - if (base.is_a ()) + if (base.is_a () && + !base.is_a ()) { if (!base.context ().count ( "cxx-tree-name-processor-member-set")) -- cgit v1.1