@@ -160,49 +160,50 @@ class CommandLineOptions {
160
160
161
161
/// Initialize options from the given parsed [args] .
162
162
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' ]) ,
166
166
buildSummaryInputs =
167
167
(args['build-summary-input' ] as List ).cast <String >(),
168
168
buildSummaryUnlinkedInputs =
169
169
(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' ]),
175
176
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' ]) ,
178
179
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' ]) ,
187
188
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' ]) ||
195
196
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' ]) ,
198
199
_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' ]) ;
206
207
207
208
/// The path to an analysis options file
208
209
String get analysisOptionsFile =>
@@ -541,7 +542,7 @@ class CommandLineOptions {
541
542
}
542
543
543
544
// Help requests.
544
- if (results['help' ]) {
545
+ if (cast ( results['help' ]) ) {
545
546
_showUsage (parser, analytics, fromHelp: true );
546
547
exitHandler (0 );
547
548
return null ; // Only reachable in testing.
@@ -550,7 +551,7 @@ class CommandLineOptions {
550
551
// Enable / disable analytics.
551
552
if (telemetry.SHOW_ANALYTICS_UI ) {
552
553
if (results.wasParsed ('analytics' )) {
553
- analytics.enabled = results['analytics' ];
554
+ analytics.enabled = cast ( results['analytics' ]) ;
554
555
outSink.writeln (
555
556
telemetry.createAnalyticsStatusMessage (analytics.enabled));
556
557
exitHandler (0 );
@@ -559,27 +560,27 @@ class CommandLineOptions {
559
560
}
560
561
561
562
// Batch mode and input files.
562
- if (results['batch' ]) {
563
+ if (cast ( results['batch' ]) ) {
563
564
if (results.rest.isNotEmpty) {
564
565
errorSink.writeln ('No source files expected in the batch mode.' );
565
566
_showUsage (parser, analytics);
566
567
exitHandler (15 );
567
568
return null ; // Only reachable in testing.
568
569
}
569
- } else if (results['persistent_worker' ]) {
570
+ } else if (cast ( results['persistent_worker' ]) ) {
570
571
if (results.rest.isNotEmpty) {
571
572
errorSink.writeln (
572
573
'No source files expected in the persistent worker mode.' );
573
574
_showUsage (parser, analytics);
574
575
exitHandler (15 );
575
576
return null ; // Only reachable in testing.
576
577
}
577
- } else if (results['version' ]) {
578
+ } else if (cast ( results['version' ]) ) {
578
579
outSink.writeln ('$_binaryName version ${_getVersion ()}' );
579
580
exitHandler (0 );
580
581
return null ; // Only reachable in testing.
581
582
} else {
582
- if (results.rest.isEmpty && ! results['build-mode' ]) {
583
+ if (results.rest.isEmpty && ! cast < bool >( results['build-mode' ]) ) {
583
584
_showUsage (parser, analytics, fromHelp: true );
584
585
exitHandler (15 );
585
586
return null ; // Only reachable in testing.
@@ -642,3 +643,5 @@ Run "dartanalyzer -h -v" for verbose help output, including less commonly used o
642
643
For more information, see https://www.dartlang.org/tools/analyzer.\n ''' );
643
644
}
644
645
}
646
+
647
+ T cast <T >(dynamic value) => value as T ;
0 commit comments