aboutsummaryrefslogtreecommitdiff
path: root/xsde/cxx/hybrid/parser-header.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'xsde/cxx/hybrid/parser-header.cxx')
-rw-r--r--xsde/cxx/hybrid/parser-header.cxx29
1 files changed, 25 insertions, 4 deletions
diff --git a/xsde/cxx/hybrid/parser-header.cxx b/xsde/cxx/hybrid/parser-header.cxx
index d3ba4b4..a09375a 100644
--- a/xsde/cxx/hybrid/parser-header.cxx
+++ b/xsde/cxx/hybrid/parser-header.cxx
@@ -113,17 +113,38 @@ namespace CXX
// pre
//
- os << "virtual void" << endl
- << "pre ();"
- << endl;
+ if (!fl || !base_enum)
+ os << "virtual void" << endl
+ << "pre ();"
+ << endl;
- // _characters
+ // _pre
//
if (!base_enum)
os << "virtual void" << endl
+ << "_pre ();"
+ << endl;
+
+ if (!base_enum)
+ {
+ // _characters
+ //
+ os << "virtual void" << endl
<< "_characters (const " << string_type << "&);"
<< endl;
+ // _post
+ //
+ if (!options.value<CLI::suppress_validation> () &&
+ !options.value<CLI::suppress_parser_val> ())
+ {
+ os << "virtual void" << endl
+ << "_post ();"
+ << endl;
+ }
+ }
+
+
// post
//
String const& ret (pret_type (e));