From bce9d5a76072ec697ef69021818aa68709036da5 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 16 Mar 2009 08:16:43 +0200 Subject: Add support for type customization in C++/Hybrid examples/cxx/hybrid/custom/wildcard/: new example --- xsde/cxx/hybrid/parser-name-processor.cxx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'xsde/cxx/hybrid/parser-name-processor.cxx') diff --git a/xsde/cxx/hybrid/parser-name-processor.cxx b/xsde/cxx/hybrid/parser-name-processor.cxx index c913766..740cf36 100644 --- a/xsde/cxx/hybrid/parser-name-processor.cxx +++ b/xsde/cxx/hybrid/parser-name-processor.cxx @@ -357,12 +357,6 @@ namespace CXX virtual Void traverse (Type& c) { - Boolean restriction (false); - - if (c.inherits_p ()) - restriction = c.inherits ().is_a () && - !c.inherits ().base ().is_a (); - SemanticGraph::Context& cc (c.context ()); // In case of customization use p:impl-base instead of p:impl. @@ -371,10 +365,17 @@ namespace CXX String const& base (cc.count ("p:impl-base") ? cc.get ("p:impl-base") : cc.get ("p:impl")); - if (!base) return; + // + // + Boolean restriction (false); + + if (c.inherits_p ()) + restriction = c.inherits ().is_a () && + !c.inherits ().base ().is_a (); + // Use skeleton's name set to make sure we don't clash // with callbacks which we are overriding. // -- cgit v1.1