| Index: pkg/analyzer_experimental/bin/analyzer.dart | 
| diff --git a/pkg/analyzer_experimental/bin/analyzer.dart b/pkg/analyzer_experimental/bin/analyzer.dart | 
| deleted file mode 100644 | 
| index 40e5a6d46b947664d52b4b0304155ad89741cd3b..0000000000000000000000000000000000000000 | 
| --- a/pkg/analyzer_experimental/bin/analyzer.dart | 
| +++ /dev/null | 
| @@ -1,138 +0,0 @@ | 
| -#!/usr/bin/env dart | 
| - | 
| -// Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 
| -// for details. All rights reserved. Use of this source code is governed by a | 
| -// BSD-style license that can be found in the LICENSE file. | 
| - | 
| -/** The entry point for the analyzer. */ | 
| -library analyzer; | 
| - | 
| -import 'dart:async'; | 
| -import 'dart:convert'; | 
| -import 'dart:io'; | 
| - | 
| -import 'package:analyzer_experimental/src/generated/engine.dart'; | 
| -import 'package:analyzer_experimental/src/generated/error.dart'; | 
| -import 'package:analyzer_experimental/src/generated/java_core.dart' show JavaSystem; | 
| -import 'package:analyzer_experimental/options.dart'; | 
| - | 
| -import 'package:analyzer_experimental/src/analyzer_impl.dart'; | 
| -import 'package:analyzer_experimental/src/error_formatter.dart'; | 
| - | 
| -void main(args) { | 
| -  var options = CommandLineOptions.parse(args); | 
| -  if (options.shouldBatch) { | 
| -    BatchRunner.runAsBatch(args, (List<String> args) { | 
| -      var options = CommandLineOptions.parse(args); | 
| -      return _runAnalyzer(options); | 
| -    }); | 
| -  } else { | 
| -    int startTime = JavaSystem.currentTimeMillis(); | 
| - | 
| -    ErrorSeverity result = _runAnalyzer(options); | 
| - | 
| -    if (options.perf) { | 
| -      int totalTime = JavaSystem.currentTimeMillis() - startTime; | 
| -      print("scan:${PerformanceStatistics.scan.result}"); | 
| -      print("parse:${PerformanceStatistics.parse.result}"); | 
| -      print("resolve:${PerformanceStatistics.resolve.result}"); | 
| -      print("errors:${PerformanceStatistics.errors.result}"); | 
| -      print("hints:${PerformanceStatistics.hints.result}"); | 
| -      print("total:$totalTime"); | 
| -    } | 
| - | 
| -    exit(result.ordinal); | 
| -  } | 
| -} | 
| - | 
| -ErrorSeverity _runAnalyzer(CommandLineOptions options) { | 
| -  if (!options.machineFormat) { | 
| -    stdout.writeln("Analyzing ${options.sourceFiles}..."); | 
| -  } | 
| -  ErrorSeverity allResult = ErrorSeverity.NONE; | 
| -  String sourcePath = options.sourceFiles[0]; | 
| -  sourcePath = sourcePath.trim(); | 
| -  // check that file exists | 
| -  if (!new File(sourcePath).existsSync()) { | 
| -    print('File not found: $sourcePath'); | 
| -    return ErrorSeverity.ERROR; | 
| -  } | 
| -  // check that file is Dart file | 
| -  if (!AnalysisEngine.isDartFileName(sourcePath)) { | 
| -    print('$sourcePath is not a Dart file'); | 
| -    return ErrorSeverity.ERROR; | 
| -  } | 
| -  // do analyze | 
| -  ErrorFormatter formatter = new ErrorFormatter(options.machineFormat ? stderr : stdout, options); | 
| -  AnalyzerImpl analyzer = new AnalyzerImpl(options); | 
| -  analyzer.analyze(sourcePath); | 
| -  // print errors | 
| -  formatter.formatErrors(analyzer.errorInfos); | 
| -  // prepare status | 
| -  ErrorSeverity status = analyzer.maxErrorSeverity; | 
| -  if (status == ErrorSeverity.WARNING && options.warningsAreFatal) { | 
| -    status = ErrorSeverity.ERROR; | 
| -  } | 
| -  return status; | 
| -} | 
| - | 
| -typedef ErrorSeverity BatchRunnerHandler(List<String> args); | 
| - | 
| -/// Provides a framework to read command line options from stdin and feed them to a callback. | 
| -class BatchRunner { | 
| -  /** | 
| -   * Run the tool in 'batch' mode, receiving command lines through stdin and returning pass/fail | 
| -   * status through stdout. This feature is intended for use in unit testing. | 
| -   */ | 
| -  static ErrorSeverity runAsBatch(List<String> sharedArgs, BatchRunnerHandler handler) { | 
| -    stdout.writeln('>>> BATCH START'); | 
| -    Stopwatch stopwatch = new Stopwatch(); | 
| -    stopwatch.start(); | 
| -    int testsFailed = 0; | 
| -    int totalTests = 0; | 
| -    ErrorSeverity batchResult = ErrorSeverity.NONE; | 
| -    // read line from stdin | 
| -    Stream cmdLine = stdin | 
| -        .transform(UTF8.decoder) | 
| -        .transform(new LineSplitter()); | 
| -    var subscription = cmdLine.listen((String line) { | 
| -      // may be finish | 
| -      if (line.isEmpty) { | 
| -        var time = stopwatch.elapsedMilliseconds; | 
| -        stdout.writeln('>>> BATCH END (${totalTests - testsFailed}/$totalTests) ${time}ms'); | 
| -        exit(batchResult.ordinal); | 
| -      } | 
| -      // prepare aruments | 
| -      var args; | 
| -      { | 
| -        var lineArgs = line.split(new RegExp('\\s+')); | 
| -        args = new List<String>(); | 
| -        args.addAll(sharedArgs); | 
| -        args.addAll(lineArgs); | 
| -        args.remove('-b'); | 
| -        args.remove('--batch'); | 
| -        // TODO(scheglov) https://code.google.com/p/dart/issues/detail?id=11061 | 
| -        args.remove('-batch'); | 
| -      } | 
| -      // analyze single set of arguments | 
| -      try { | 
| -        totalTests++; | 
| -        ErrorSeverity result = handler(args); | 
| -        bool resultPass = result != ErrorSeverity.ERROR; | 
| -        if (!resultPass) { | 
| -          testsFailed++; | 
| -        } | 
| -        batchResult = batchResult.max(result); | 
| -        // Write stderr end token and flush. | 
| -        stderr.writeln('>>> EOF STDERR'); | 
| -        String resultPassString = resultPass ? 'PASS' : 'FAIL'; | 
| -        stdout.writeln('>>> TEST $resultPassString ${stopwatch.elapsedMilliseconds}ms'); | 
| -      } catch (e, stackTrace) { | 
| -        stderr.writeln(e); | 
| -        stderr.writeln(stackTrace); | 
| -        stderr.writeln('>>> EOF STDERR'); | 
| -        stdout.writeln('>>> TEST CRASH'); | 
| -      } | 
| -    }); | 
| -  } | 
| -} | 
|  |