@@ -160,49 +160,50 @@ class CommandLineOptions {
160160
161161 /// Initialize options from the given parsed [args] .
162162 CommandLineOptions ._fromArgs (ArgResults args)
163- : buildAnalysisOutput = args['build-analysis-output' ],
164- buildMode = args['build-mode' ],
165- buildModePersistentWorker = args['persistent_worker' ],
163+ : buildAnalysisOutput = cast ( args['build-analysis-output' ]) ,
164+ buildMode = cast ( args['build-mode' ]) ,
165+ buildModePersistentWorker = cast ( args['persistent_worker' ]) ,
166166 buildSummaryInputs =
167167 (args['build-summary-input' ] as List ).cast <String >(),
168168 buildSummaryUnlinkedInputs =
169169 (args['build-summary-unlinked-input' ] as List ).cast <String >(),
170- buildSummaryOnly = args['build-summary-only' ],
171- buildSummaryOnlyUnlinked = args['build-summary-only-unlinked' ],
172- buildSummaryOutput = args['build-summary-output' ],
173- buildSummaryOutputSemantic = args['build-summary-output-semantic' ],
174- buildSuppressExitCode = args['build-suppress-exit-code' ],
170+ buildSummaryOnly = cast (args['build-summary-only' ]),
171+ buildSummaryOnlyUnlinked = cast (args['build-summary-only-unlinked' ]),
172+ buildSummaryOutput = cast (args['build-summary-output' ]),
173+ buildSummaryOutputSemantic =
174+ cast (args['build-summary-output-semantic' ]),
175+ buildSuppressExitCode = cast (args['build-suppress-exit-code' ]),
175176 contextBuilderOptions = createContextBuilderOptions (args),
176- dartSdkPath = args['dart-sdk' ],
177- dartSdkSummaryPath = args['dart-sdk-summary' ],
177+ dartSdkPath = cast ( args['dart-sdk' ]) ,
178+ dartSdkSummaryPath = cast ( args['dart-sdk-summary' ]) ,
178179 declarationCasts = args.wasParsed (declarationCastsFlag)
179- ? args[declarationCastsFlag]
180- : args[implicitCastsFlag],
181- disableCacheFlushing = args['disable-cache-flushing' ],
182- disableHints = args['no-hints' ],
183- displayVersion = args['version' ],
184- ignoreUnrecognizedFlags = args['ignore-unrecognized-flags' ],
185- lints = args[lintsFlag],
186- log = args['log' ],
180+ ? cast ( args[declarationCastsFlag])
181+ : cast ( args[implicitCastsFlag]) ,
182+ disableCacheFlushing = cast ( args['disable-cache-flushing' ]) ,
183+ disableHints = cast ( args['no-hints' ]) ,
184+ displayVersion = cast ( args['version' ]) ,
185+ ignoreUnrecognizedFlags = cast ( args['ignore-unrecognized-flags' ]) ,
186+ lints = cast ( args[lintsFlag]) ,
187+ log = cast ( args['log' ]) ,
187188 machineFormat = args['format' ] == 'machine' ,
188- perfReport = args['x-perf-report' ],
189- useCFE = args['use-cfe' ],
190- useFastaParser = args['use-fasta-parser' ],
191- previewDart2 = args['preview-dart-2' ],
192- batchMode = args['batch' ],
193- showPackageWarnings = args['show-package-warnings' ] ||
194- args['package-warnings' ] ||
189+ perfReport = cast ( args['x-perf-report' ]) ,
190+ useCFE = cast ( args['use-cfe' ]) ,
191+ useFastaParser = cast ( args['use-fasta-parser' ]) ,
192+ previewDart2 = cast ( args['preview-dart-2' ]) ,
193+ batchMode = cast ( args['batch' ]) ,
194+ showPackageWarnings = cast ( args['show-package-warnings' ]) ||
195+ cast ( args['package-warnings' ]) ||
195196 args['x-package-warnings-prefix' ] != null ,
196- showPackageWarningsPrefix = args['x-package-warnings-prefix' ],
197- showSdkWarnings = args['sdk-warnings' ],
197+ showPackageWarningsPrefix = cast ( args['x-package-warnings-prefix' ]) ,
198+ showSdkWarnings = cast ( args['sdk-warnings' ]) ,
198199 _sourceFiles = args.rest,
199- infosAreFatal = args['fatal-infos' ] || args['fatal-hints' ],
200- warningsAreFatal = args['fatal-warnings' ],
201- lintsAreFatal = args['fatal-lints' ],
202- implicitCasts = args[implicitCastsFlag],
203- implicitDynamic = ! args['no-implicit-dynamic' ],
204- verbose = args['verbose' ],
205- color = args['color' ];
200+ infosAreFatal = cast ( args['fatal-infos' ]) || cast ( args['fatal-hints' ]) ,
201+ warningsAreFatal = cast ( args['fatal-warnings' ]) ,
202+ lintsAreFatal = cast ( args['fatal-lints' ]) ,
203+ implicitCasts = cast ( args[implicitCastsFlag]) ,
204+ implicitDynamic = ! cast < bool >( args['no-implicit-dynamic' ]) ,
205+ verbose = cast ( args['verbose' ]) ,
206+ color = cast ( args['color' ]) ;
206207
207208 /// The path to an analysis options file
208209 String get analysisOptionsFile =>
@@ -541,7 +542,7 @@ class CommandLineOptions {
541542 }
542543
543544 // Help requests.
544- if (results['help' ]) {
545+ if (cast ( results['help' ]) ) {
545546 _showUsage (parser, analytics, fromHelp: true );
546547 exitHandler (0 );
547548 return null ; // Only reachable in testing.
@@ -550,7 +551,7 @@ class CommandLineOptions {
550551 // Enable / disable analytics.
551552 if (telemetry.SHOW_ANALYTICS_UI ) {
552553 if (results.wasParsed ('analytics' )) {
553- analytics.enabled = results['analytics' ];
554+ analytics.enabled = cast ( results['analytics' ]) ;
554555 outSink.writeln (
555556 telemetry.createAnalyticsStatusMessage (analytics.enabled));
556557 exitHandler (0 );
@@ -559,27 +560,27 @@ class CommandLineOptions {
559560 }
560561
561562 // Batch mode and input files.
562- if (results['batch' ]) {
563+ if (cast ( results['batch' ]) ) {
563564 if (results.rest.isNotEmpty) {
564565 errorSink.writeln ('No source files expected in the batch mode.' );
565566 _showUsage (parser, analytics);
566567 exitHandler (15 );
567568 return null ; // Only reachable in testing.
568569 }
569- } else if (results['persistent_worker' ]) {
570+ } else if (cast ( results['persistent_worker' ]) ) {
570571 if (results.rest.isNotEmpty) {
571572 errorSink.writeln (
572573 'No source files expected in the persistent worker mode.' );
573574 _showUsage (parser, analytics);
574575 exitHandler (15 );
575576 return null ; // Only reachable in testing.
576577 }
577- } else if (results['version' ]) {
578+ } else if (cast ( results['version' ]) ) {
578579 outSink.writeln ('$_binaryName version ${_getVersion ()}' );
579580 exitHandler (0 );
580581 return null ; // Only reachable in testing.
581582 } else {
582- if (results.rest.isEmpty && ! results['build-mode' ]) {
583+ if (results.rest.isEmpty && ! cast < bool >( results['build-mode' ]) ) {
583584 _showUsage (parser, analytics, fromHelp: true );
584585 exitHandler (15 );
585586 return null ; // Only reachable in testing.
@@ -642,3 +643,5 @@ Run "dartanalyzer -h -v" for verbose help output, including less commonly used o
642643For more information, see https://www.dartlang.org/tools/analyzer.\n ''' );
643644 }
644645}
646+
647+ T cast <T >(dynamic value) => value as T ;
0 commit comments