diff options
Diffstat (limited to 'src/tools/wast-desugar.cc')
-rw-r--r-- | src/tools/wast-desugar.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/tools/wast-desugar.cc b/src/tools/wast-desugar.cc index b1418e6c..a22bdc05 100644 --- a/src/tools/wast-desugar.cc +++ b/src/tools/wast-desugar.cc @@ -38,11 +38,13 @@ using namespace wabt; static const char* s_infile; static const char* s_outfile; +static WriteWatOptions s_write_wat_options; static bool s_generate_names; enum { FLAG_HELP, FLAG_OUTPUT, + FLAG_FOLD_EXPRS, FLAG_GENERATE_NAMES, NUM_FLAGS }; @@ -65,6 +67,8 @@ static Option s_options[] = { "print this help message"}, {FLAG_OUTPUT, 'o', "output", "FILE", HasArgument::Yes, "output file for the formatted file"}, + {FLAG_FOLD_EXPRS, 'f', "fold-exprs", nullptr, HasArgument::No, + "Write folded expressions where possible"}, {FLAG_GENERATE_NAMES, 0, "generate-names", nullptr, HasArgument::No, "Give auto-generated names to non-named functions, types, etc."}, }; @@ -83,6 +87,10 @@ static void on_option(struct OptionParser* parser, s_outfile = argument; break; + case FLAG_FOLD_EXPRS: + s_write_wat_options.fold_exprs = true; + break; + case FLAG_GENERATE_NAMES: s_generate_names = true; break; @@ -149,7 +157,7 @@ int ProgramMain(int argc, char** argv) { if (WABT_SUCCEEDED(result)) { FileWriter writer(s_outfile ? FileWriter(s_outfile) : FileWriter(stdout)); - result = write_wat(&writer, module); + result = write_wat(&writer, module, &s_write_wat_options); } } |