summaryrefslogtreecommitdiff
path: root/src/tools/wast-desugar.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/wast-desugar.cc')
-rw-r--r--src/tools/wast-desugar.cc10
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);
}
}