Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(776)

Side by Side Diff: pkg/analyzer_cli/lib/src/options.dart

Issue 2733953005: Correct --persistent_worker arg constraint check (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library analyzer_cli.src.options; 5 library analyzer_cli.src.options;
6 6
7 import 'dart:io'; 7 import 'dart:io';
8 8
9 import 'package:analyzer/file_system/physical_file_system.dart'; 9 import 'package:analyzer/file_system/physical_file_system.dart';
10 import 'package:analyzer/src/command_line/arguments.dart'; 10 import 'package:analyzer/src/command_line/arguments.dart';
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 hide: hide); 449 hide: hide);
450 450
451 try { 451 try {
452 if (args.contains('--$ignoreUnrecognizedFlagsFlag')) { 452 if (args.contains('--$ignoreUnrecognizedFlagsFlag')) {
453 args = filterUnknownArguments(args, parser); 453 args = filterUnknownArguments(args, parser);
454 } 454 }
455 ArgResults results = parser.parse(args); 455 ArgResults results = parser.parse(args);
456 456
457 // Persistent worker. 457 // Persistent worker.
458 if (args.contains('--persistent_worker')) { 458 if (args.contains('--persistent_worker')) {
459 bool validArgs; 459 bool hasBuildMode = args.contains('--build-mode');
460 if (!args.contains('--build-mode')) { 460 bool onlyDartSdkArg = args.length == 2 ||
461 validArgs = false; 461 (args.length == 3 && args.any((a) => a.startsWith('--dart-sdk'))) ||
462 } else if (args.length == 2) { 462 (args.length == 4 && args.contains('--dart-sdk'));
463 validArgs = true; 463 if (!(hasBuildMode && onlyDartSdkArg)) {
464 } else if (args.length == 4 && args.contains('--dart-sdk')) {
465 validArgs = true;
466 } else {
467 validArgs = false;
468 }
469 if (!validArgs) {
470 printAndFail('The --persistent_worker flag should be used with and ' 464 printAndFail('The --persistent_worker flag should be used with and '
471 'only with the --build-mode flag, and possibly the --dart-sdk ' 465 'only with the --build-mode flag, and possibly the --dart-sdk '
472 'option. Got: $args'); 466 'option. Got: $args');
473 return null; // Only reachable in testing. 467 return null; // Only reachable in testing.
474 } 468 }
475 return new CommandLineOptions._fromArgs(results); 469 return new CommandLineOptions._fromArgs(results);
476 } 470 }
477 471
478 // Help requests. 472 // Help requests.
479 if (results['help']) { 473 if (results['help']) {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 'Usage: $_binaryName [options...] <directory or list of files>'); 516 'Usage: $_binaryName [options...] <directory or list of files>');
523 errorSink.writeln(''); 517 errorSink.writeln('');
524 errorSink.writeln(parser.usage); 518 errorSink.writeln(parser.usage);
525 errorSink.writeln(''); 519 errorSink.writeln('');
526 errorSink.writeln(''' 520 errorSink.writeln('''
527 Run "dartanalyzer -h -v" for verbose help output, including less commonly used o ptions. 521 Run "dartanalyzer -h -v" for verbose help output, including less commonly used o ptions.
528 For more information, see http://www.dartlang.org/tools/analyzer. 522 For more information, see http://www.dartlang.org/tools/analyzer.
529 '''); 523 ''');
530 } 524 }
531 } 525 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698