aboutsummaryrefslogtreecommitdiff
path: root/xsde/cxx/hybrid/elements.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'xsde/cxx/hybrid/elements.cxx')
-rw-r--r--xsde/cxx/hybrid/elements.cxx7
1 files changed, 5 insertions, 2 deletions
diff --git a/xsde/cxx/hybrid/elements.cxx b/xsde/cxx/hybrid/elements.cxx
index 80dc5c4..4edbc06 100644
--- a/xsde/cxx/hybrid/elements.cxx
+++ b/xsde/cxx/hybrid/elements.cxx
@@ -33,8 +33,7 @@ namespace CXX
options (ops),
exceptions (!ops.value<CLI::no_exceptions> ()),
stl (!ops.value<CLI::no_stl> ()),
- poly_code (false),
- poly_runtime (false),
+ poly_code (ops.value<CLI::generate_polymorphic> ()),
reset (!ops.value<CLI::suppress_reset> ()),
detach (ops.value<CLI::generate_detach> ()),
mixin (ops.value<CLI::reuse_style_mixin> ()),
@@ -55,6 +54,10 @@ namespace CXX
ixdrstream (ixdrstream_),
oxdrstream (oxdrstream_)
{
+ typeinfo = poly_code &&
+ (ops.value<CLI::generate_typeinfo> () ||
+ ops.value<CLI::generate_serializer> ());
+
String xs_ns (xs_ns_name ());
string_type = L"::xsde::cxx::ro_string";