@@ -360,6 +360,11 @@ class CompileJitSnapshotCommand extends CompileSubcommandCommand {
360360 abbr: defineOption.abbr,
361361 valueHelp: defineOption.valueHelp,
362362 )
363+ ..addFlag (
364+ enableAssertsOption.flag,
365+ negatable: false ,
366+ help: enableAssertsOption.help,
367+ )
363368 ..addFlag (soundNullSafetyOption.flag,
364369 help: soundNullSafetyOption.help,
365370 defaultsTo: soundNullSafetyOption.flagDefaultsTo,
@@ -409,6 +414,7 @@ class CompileJitSnapshotCommand extends CompileSubcommandCommand {
409414
410415 final enabledExperiments = args.enabledExperiments;
411416 final defines = args.multiOption (defineOption.flag);
417+ final enableAsserts = args.flag (enableAssertsOption.flag);
412418
413419 // Build arguments.
414420 final buildArgs = < String > [];
@@ -439,6 +445,11 @@ class CompileJitSnapshotCommand extends CompileSubcommandCommand {
439445 for (final define in defines) {
440446 buildArgs.add ('-D$define ' );
441447 }
448+
449+ if (enableAsserts) {
450+ buildArgs.add ('--${enableAssertsOption .flag }' );
451+ }
452+
442453 buildArgs.add (path.canonicalize (sourcePath));
443454
444455 // Add the training arguments.
@@ -493,9 +504,9 @@ class CompileNativeCommand extends CompileSubcommandCommand {
493504 valueHelp: defineOption.valueHelp,
494505 )
495506 ..addFlag (
496- 'enable-asserts' ,
507+ enableAssertsOption.flag ,
497508 negatable: false ,
498- help: 'Enable assert statements.' ,
509+ help: enableAssertsOption.help ,
499510 )
500511 ..addOption (
501512 packagesOption.flag,
@@ -663,7 +674,7 @@ Remove debugging information from the output and save it separately to the speci
663674 defines: args.multiOption (defineOption.flag),
664675 packages: args.option ('packages' ),
665676 enableExperiment: args.enabledExperiments.join (',' ),
666- enableAsserts: args.flag ('enable-asserts' ),
677+ enableAsserts: args.flag (enableAssertsOption.flag ),
667678 debugFile: args.option ('save-debugging-info' ),
668679 verbose: verbose,
669680 verbosity: args.option ('verbosity' )! ,
@@ -821,9 +832,9 @@ class CompileWasmCommand extends CompileSubcommandCommand {
821832 negatable: false ,
822833 )
823834 ..addFlag (
824- 'enable-asserts' ,
825- help: 'Enable assert statements.' ,
835+ enableAssertsOption.flag,
826836 negatable: false ,
837+ help: enableAssertsOption.help,
827838 )
828839 ..addOption (
829840 'shared-memory' ,
@@ -977,7 +988,7 @@ class CompileWasmCommand extends CompileSubcommandCommand {
977988 if (packages != null ) '--packages=$packages ' ,
978989 if (args.flag ('print-wasm' )) '--print-wasm' ,
979990 if (args.flag ('print-kernel' )) '--print-kernel' ,
980- if (args.flag ('enable-asserts' )) '--enable-asserts ' ,
991+ if (args.flag (enableAssertsOption.flag )) '--${ enableAssertsOption . flag } ' ,
981992 if (! generateSourceMap) '--no-source-maps' ,
982993 for (final define in defines) '-D$define ' ,
983994 if (maxPages != null ) ...[
@@ -1074,27 +1085,29 @@ Sets the verbosity level of the compilation.
10741085 flagDefaultsTo: true ,
10751086 );
10761087
1077- final Option defineOption;
1078- final Option packagesOption;
1079-
1080- CompileSubcommandCommand (super .name, super .description, super .verbose,
1081- {super .hidden})
1082- : defineOption = Option (
1083- flag: 'define' ,
1084- abbr: 'D' ,
1085- valueHelp: 'key=value' ,
1086- help: '''
1088+ late final Option defineOption = Option (
1089+ flag: 'define' ,
1090+ abbr: 'D' ,
1091+ valueHelp: 'key=value' ,
1092+ help: '''
10871093Define an environment declaration. To specify multiple declarations, use multiple options or use commas to separate key-value pairs.
10881094For example: dart compile $name -Da=1,b=2 main.dart''' ,
1089- ),
1090- packagesOption = Option (
1091- flag: 'packages' ,
1092- abbr: 'p' ,
1093- valueHelp: 'path' ,
1094- help:
1095- '''Get package locations from the specified file instead of .dart_tool/package_config.json.
1095+ );
1096+
1097+ late final Option packagesOption = Option (
1098+ flag: 'packages' ,
1099+ abbr: 'p' ,
1100+ valueHelp: 'path' ,
1101+ help:
1102+ '''Get package locations from the specified file instead of .dart_tool/package_config.json.
10961103<path> can be relative or absolute.
10971104For example: dart compile $name --packages=/tmp/pkgs.json main.dart''' );
1105+
1106+ final Option enableAssertsOption =
1107+ Option (flag: 'enable-asserts' , help: 'Enable assert statements.' );
1108+
1109+ CompileSubcommandCommand (super .name, super .description, super .verbose,
1110+ {super .hidden});
10981111}
10991112
11001113class CompileCommand extends DartdevCommand {
0 commit comments