diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2010-01-19 11:44:48 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2010-01-19 11:44:48 +0200 |
commit | 3bf42ed8ccc93a3ff5fdabb9153b887018075acc (patch) | |
tree | 19608b70275324a6e49f7f013ddff912b26128d4 /xsd/cxx/tree/parser-source.cxx | |
parent | 4257e28e3bbb92042f5a1db05eba17d7b2a3b151 (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.cxx | 8 |
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& // |