From 2ce43a501d37b63821e6d718f6260608df809214 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sun, 13 Feb 2011 16:20:30 +0200 Subject: Add check for anonymous type An element is not polymorphic if its type is anonymous. --- xsde/cxx/parser/parser-inline.cxx | 5 ++++- xsde/cxx/serializer/serializer-inline.cxx | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'xsde/cxx') diff --git a/xsde/cxx/parser/parser-inline.cxx b/xsde/cxx/parser/parser-inline.cxx index fe582f9..774dc8d 100644 --- a/xsde/cxx/parser/parser-inline.cxx +++ b/xsde/cxx/parser/parser-inline.cxx @@ -385,7 +385,10 @@ namespace CXX traverse (SemanticGraph::Element& e) { if (poly_) - os << "this->" << emember_map (e) << " = &" << ename (e) << ";"; + { + if (!anonymous (e.type ())) + os << "this->" << emember_map (e) << " = &" << ename (e) << ";"; + } else os << "this->" << emember (e) << " = &" << ename (e) << ";"; } diff --git a/xsde/cxx/serializer/serializer-inline.cxx b/xsde/cxx/serializer/serializer-inline.cxx index 63dad21..d2481a2 100644 --- a/xsde/cxx/serializer/serializer-inline.cxx +++ b/xsde/cxx/serializer/serializer-inline.cxx @@ -374,7 +374,10 @@ namespace CXX traverse (SemanticGraph::Element& e) { if (poly_) - os << "this->" << emember_map (e) << " = &" << ename (e) << ";"; + { + if (!anonymous (e.type ())) + os << "this->" << emember_map (e) << " = &" << ename (e) << ";"; + } else os << "this->" << emember (e) << " = &" << ename (e) << ";"; } -- cgit v1.1