From 3a936f3863ece24a567fc8ec6acffb802277ff2c Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sat, 1 Mar 2014 08:45:33 +0200 Subject: Move pro/epilogue outside pre/post.hxx includes Also add pre/post includes to all the source files. --- xsde/cxx/hybrid/generator.cxx | 111 ++++++++++++++++++++------------------ xsde/cxx/parser/generator.cxx | 39 +++++++------- xsde/cxx/serializer/generator.cxx | 36 +++++++------ 3 files changed, 102 insertions(+), 84 deletions(-) diff --git a/xsde/cxx/hybrid/generator.cxx b/xsde/cxx/hybrid/generator.cxx index e2e0f71..2c0f5a8 100644 --- a/xsde/cxx/hybrid/generator.cxx +++ b/xsde/cxx/hybrid/generator.cxx @@ -827,18 +827,6 @@ namespace CXX << "#define " << guard << endl << endl; - // Version check. - // - fwd << "#include " << endl - << endl - << "#if (XSDE_INT_VERSION != " << XSDE_INT_VERSION << "L)" << endl - << "#error XSD/e runtime version mismatch" << endl - << "#endif" << endl - << endl; - - fwd << "#include " << endl - << endl; - // Copy prologue. // fwd << "// Begin prologue." << endl @@ -851,6 +839,18 @@ namespace CXX << "// End prologue." << endl << endl; + // Version check. + // + fwd << "#include " << endl + << endl + << "#if (XSDE_INT_VERSION != " << XSDE_INT_VERSION << "L)" << endl + << "#error XSD/e runtime version mismatch" << endl + << "#endif" << endl + << endl; + + fwd << "#include " << endl + << endl; + // Generate. // { @@ -858,6 +858,9 @@ namespace CXX generate_tree_forward (ctx, false); } + fwd << "#include " << endl + << endl; + // Copy epilogue. // fwd << "// Begin epilogue." << endl @@ -870,9 +873,6 @@ namespace CXX << "// End epilogue." << endl << endl; - fwd << "#include " << endl - << endl; - fwd << "#endif // " << guard << endl; if (show_sloc) @@ -903,6 +903,18 @@ namespace CXX << "#define " << guard << endl << endl; + // Copy prologue. + // + hxx << "// Begin prologue." << endl + << "//" << endl; + + append (hxx, ops.hxx_prologue (), ops.prologue (), ""); + append (hxx, find_value (ops.hxx_prologue_file (), ""), prologue); + + hxx << "//" << endl + << "// End prologue." << endl + << endl; + // Version check. // hxx << "#include " << endl @@ -1013,24 +1025,9 @@ namespace CXX << endl; } - // - // - hxx << "#include " << endl << endl; - // Copy prologue. - // - hxx << "// Begin prologue." << endl - << "//" << endl; - - append (hxx, ops.hxx_prologue (), ops.prologue (), ""); - append (hxx, find_value (ops.hxx_prologue_file (), ""), prologue); - - hxx << "//" << endl - << "// End prologue." << endl - << endl; - // Generate. // { @@ -1064,6 +1061,9 @@ namespace CXX << endl; } + hxx << "#include " << endl + << endl; + // Copy epilogue. // hxx << "// Begin epilogue." << endl @@ -1076,9 +1076,6 @@ namespace CXX << "// End epilogue." << endl << endl; - hxx << "#include " << endl - << endl; - hxx << "#endif // " << guard << endl; if (show_sloc) @@ -1154,9 +1151,6 @@ namespace CXX sloc_filter sloc (cxx); - cxx << "#include " << endl - << endl; - // Copy prologue. // cxx << "// Begin prologue." << endl @@ -1169,6 +1163,9 @@ namespace CXX << "// End prologue." << endl << endl; + cxx << "#include " << endl + << endl; + cxx << "#include " << ctx.process_include_path (hxx_name) << endl << endl; @@ -1189,6 +1186,9 @@ namespace CXX generate_extraction_source (ctx); } + cxx << "#include " << endl + << endl; + // Copy epilogue. // cxx << "// Begin epilogue." << endl @@ -1201,9 +1201,6 @@ namespace CXX << "// End epilogue." << endl << endl; - cxx << "#include " << endl - << endl; - if (show_sloc) wcerr << cxx_path << ": " << sloc.stream ().count () << endl; @@ -1499,9 +1496,6 @@ namespace CXX << "#define " << guard << endl << endl; - hxx << "#include " << endl - << endl; - // Copy prologue. // hxx << "// Begin prologue." << endl @@ -1514,6 +1508,9 @@ namespace CXX << "// End prologue." << endl << endl; + hxx << "#include " << endl + << endl; + { ind_filter ind (hxx); // We don't want to indent prologues/epilogues. @@ -1551,6 +1548,9 @@ namespace CXX } } + hxx << "#include " << endl + << endl; + // Copy epilogue. // hxx << "// Begin epilogue." << endl @@ -1563,9 +1563,6 @@ namespace CXX << "// End epilogue." << endl << endl; - hxx << "#include " << endl - << endl; - hxx << "#endif // " << guard << endl; if (show_sloc) @@ -1593,6 +1590,9 @@ namespace CXX << "// End prologue." << endl << endl; + cxx << "#include " << endl + << endl; + cxx << "#include " << ctx.process_include_path (hxx_name) << endl << endl; @@ -1607,6 +1607,9 @@ namespace CXX generate_parser_aggregate_source (ctx); } + cxx << "#include " << endl + << endl; + // Copy epilogue. // cxx << "// Begin epilogue." << endl @@ -1885,9 +1888,6 @@ namespace CXX << "#define " << guard << endl << endl; - hxx << "#include " << endl - << endl; - // Copy prologue. // hxx << "// Begin prologue." << endl @@ -1900,6 +1900,9 @@ namespace CXX << "// End prologue." << endl << endl; + hxx << "#include " << endl + << endl; + { ind_filter ind (hxx); // We don't want to indent prologues/epilogues. @@ -1937,6 +1940,9 @@ namespace CXX } } + hxx << "#include " << endl + << endl; + // Copy epilogue. // hxx << "// Begin epilogue." << endl @@ -1949,9 +1955,6 @@ namespace CXX << "// End epilogue." << endl << endl; - hxx << "#include " << endl - << endl; - hxx << "#endif // " << guard << endl; if (show_sloc) @@ -1979,6 +1982,9 @@ namespace CXX << "// End prologue." << endl << endl; + cxx << "#include " << endl + << endl; + cxx << "#include " << ctx.process_include_path (hxx_name) << endl << endl; @@ -1993,6 +1999,9 @@ namespace CXX generate_serializer_aggregate_source (ctx); } + cxx << "#include " << endl + << endl; + // Copy epilogue. // cxx << "// Begin epilogue." << endl diff --git a/xsde/cxx/parser/generator.cxx b/xsde/cxx/parser/generator.cxx index 45873ef..3f9cb80 100644 --- a/xsde/cxx/parser/generator.cxx +++ b/xsde/cxx/parser/generator.cxx @@ -783,6 +783,18 @@ namespace CXX << "#define " << guard << endl << endl; + // Copy prologue. + // + hxx << "// Begin prologue." << endl + << "//" << endl; + + append (hxx, ops.hxx_prologue (), ops.prologue ()); + append (hxx, ops.hxx_prologue_file (), prologue); + + hxx << "//" << endl + << "// End prologue." << endl + << endl; + // Version check. // hxx << "#include " << endl @@ -978,24 +990,9 @@ namespace CXX << endl; } - // - // - hxx << "#include " << endl << endl; - // Copy prologue. - // - hxx << "// Begin prologue." << endl - << "//" << endl; - - append (hxx, ops.hxx_prologue (), ops.prologue ()); - append (hxx, ops.hxx_prologue_file (), prologue); - - hxx << "//" << endl - << "// End prologue." << endl - << endl; - // Generate. // { @@ -1011,6 +1008,9 @@ namespace CXX hxx << "#include " << ctx.process_include_path (ixx_name) << endl << endl; + hxx << "#include " << endl + << endl; + // Copy epilogue. // hxx << "// Begin epilogue." << endl @@ -1023,9 +1023,6 @@ namespace CXX << "// End epilogue." << endl << endl; - hxx << "#include " << endl - << endl; - hxx << "#endif // " << guard << endl; if (show_sloc) @@ -1102,6 +1099,9 @@ namespace CXX << "// End prologue." << endl << endl; + cxx << "#include " << endl + << endl; + cxx << "#include " << ctx.process_include_path (hxx_name) << endl << endl; @@ -1123,6 +1123,9 @@ namespace CXX } } + cxx << "#include " << endl + << endl; + // Copy epilogue. // cxx << "// Begin epilogue." << endl diff --git a/xsde/cxx/serializer/generator.cxx b/xsde/cxx/serializer/generator.cxx index 94dcaec..6663708 100644 --- a/xsde/cxx/serializer/generator.cxx +++ b/xsde/cxx/serializer/generator.cxx @@ -773,6 +773,18 @@ namespace CXX << "#define " << guard << endl << endl; + // Copy prologue. + // + hxx << "// Begin prologue." << endl + << "//" << endl; + + append (hxx, ops.hxx_prologue (), ops.prologue ()); + append (hxx, ops.hxx_prologue_file (), prologue); + + hxx << "//" << endl + << "// End prologue." << endl + << endl; + // Version check. // hxx << "#include " << endl @@ -974,18 +986,6 @@ namespace CXX hxx << "#include " << endl << endl; - // Copy prologue. - // - hxx << "// Begin prologue." << endl - << "//" << endl; - - append (hxx, ops.hxx_prologue (), ops.prologue ()); - append (hxx, ops.hxx_prologue_file (), prologue); - - hxx << "//" << endl - << "// End prologue." << endl - << endl; - // Generate. // { @@ -1001,6 +1001,9 @@ namespace CXX hxx << "#include " << ctx.process_include_path (ixx_name) << endl << endl; + hxx << "#include " << endl + << endl; + // Copy epilogue. // hxx << "// Begin epilogue." << endl @@ -1013,9 +1016,6 @@ namespace CXX << "// End epilogue." << endl << endl; - hxx << "#include " << endl - << endl; - hxx << "#endif // " << guard << endl; if (show_sloc) @@ -1093,6 +1093,9 @@ namespace CXX << "// End prologue." << endl << endl; + cxx << "#include " << endl + << endl; + cxx << "#include " << ctx.process_include_path (hxx_name) << endl << endl; @@ -1113,6 +1116,9 @@ namespace CXX } } + cxx << "#include " << endl + << endl; + // Copy epilogue. // cxx << "// Begin epilogue." << endl -- cgit v1.1