aboutsummaryrefslogtreecommitdiff
path: root/xsd/cxx/tree/parser-source.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-01-19 11:44:48 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-01-19 11:44:48 +0200
commit3bf42ed8ccc93a3ff5fdabb9153b887018075acc (patch)
tree19608b70275324a6e49f7f013ddff912b26128d4 /xsd/cxx/tree/parser-source.cxx
parent4257e28e3bbb92042f5a1db05eba17d7b2a3b151 (diff)
Add support for selective polymorphic in C++/Tree
New options: --polymorphic-type, --polymorphic-type-all.
Diffstat (limited to 'xsd/cxx/tree/parser-source.cxx')
-rw-r--r--xsd/cxx/tree/parser-source.cxx8
1 files changed, 3 insertions, 5 deletions
diff --git a/xsd/cxx/tree/parser-source.cxx b/xsd/cxx/tree/parser-source.cxx
index 66abf96..94d0b91 100644
--- a/xsd/cxx/tree/parser-source.cxx
+++ b/xsd/cxx/tree/parser-source.cxx
@@ -295,18 +295,16 @@ namespace CXX
//
Boolean fund (false);
-
{
IsFundamentalType test (fund);
test.dispatch (t);
}
// Check if we need to handle xsi:type and substitution groups.
- // If this element's type is anonymous or mapped to a fundamental
- // C++ type then we don't need to do anything.
+ // If this element's type is anonymous then we don't need to do
+ // anything.
//
- Boolean poly (!fund && polymorphic &&
- !t.context ().count ("anonymous"));
+ Boolean poly (polymorphic && polymorphic_p (t) && !anonymous_p (t));
// const DOMDocument&
//