aboutsummaryrefslogtreecommitdiff
path: root/xsde/xsde.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-04-15 13:57:30 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-04-15 13:57:30 +0200
commit417548d2097c56d95cab7587cffeea7004d33117 (patch)
tree3cf3992be1c8c1cc23e651126115b3007c2006c2 /xsde/xsde.cxx
parent85dbd31349b94a488669fd848cd947d9aa212e3f (diff)
Turn on union to enum synthesis for C++/Hybrid
Diffstat (limited to 'xsde/xsde.cxx')
-rw-r--r--xsde/xsde.cxx17
1 files changed, 17 insertions, 0 deletions
diff --git a/xsde/xsde.cxx b/xsde/xsde.cxx
index 4311f9a..2281ae9 100644
--- a/xsde/xsde.cxx
+++ b/xsde/xsde.cxx
@@ -21,6 +21,7 @@
#include <xsd-frontend/parser.hxx>
#include <xsd-frontend/transformations/anonymous.hxx>
+#include <xsd-frontend/transformations/enum-synthesis.hxx>
#include <xsd-frontend/transformations/restriction.hxx>
#include <xsd-frontend/transformations/schema-per-type.hxx>
#include <xsd-frontend/transformations/simplifier.hxx>
@@ -795,6 +796,14 @@ main (Int argc, Char* argv[])
}
}
+ // Synthesize enumerations from unions.
+ //
+ if (gen_hybrid)
+ {
+ Transformations::EnumSynthesis trans;
+ trans.transform (*schema, tu);
+ }
+
// Simplify the schema graph.
//
{
@@ -1077,6 +1086,14 @@ main (Int argc, Char* argv[])
}
}
+ // Synthesize enumerations from unions.
+ //
+ if (gen_hybrid)
+ {
+ Transformations::EnumSynthesis trans;
+ trans.transform (*schema, "");
+ }
+
// Simplify the schema graph.
//
{