diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2011-02-13 16:20:30 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2011-02-13 16:20:30 +0200 |
commit | 2ce43a501d37b63821e6d718f6260608df809214 (patch) | |
tree | 50e89a59f9a8695951b1e43f392aed2d8140bff1 /xsde/cxx | |
parent | c7c32255956fc8c82200cd01e08951a336e48d98 (diff) |
Add check for anonymous type
An element is not polymorphic if its type is anonymous.
Diffstat (limited to 'xsde/cxx')
-rw-r--r-- | xsde/cxx/parser/parser-inline.cxx | 5 | ||||
-rw-r--r-- | xsde/cxx/serializer/serializer-inline.cxx | 5 |
2 files changed, 8 insertions, 2 deletions
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) << ";"; } |