| Index: pkg/analyzer/lib/src/dart/analysis/driver.dart
|
| diff --git a/pkg/analyzer/lib/src/dart/analysis/driver.dart b/pkg/analyzer/lib/src/dart/analysis/driver.dart
|
| index 469822ed1ad55bf6f2e2c5d3c6c1b7c1e3844e1e..b7ef542e463caf81a0ee750bc627ec2a98ab283b 100644
|
| --- a/pkg/analyzer/lib/src/dart/analysis/driver.dart
|
| +++ b/pkg/analyzer/lib/src/dart/analysis/driver.dart
|
| @@ -31,6 +31,7 @@ import 'package:analyzer/src/summary/format.dart';
|
| import 'package:analyzer/src/summary/idl.dart';
|
| import 'package:analyzer/src/summary/package_bundle_reader.dart';
|
| import 'package:front_end/src/base/api_signature.dart';
|
| +import 'package:front_end/src/base/performace_logger.dart';
|
| import 'package:front_end/src/incremental/byte_store.dart';
|
| import 'package:meta/meta.dart';
|
|
|
| @@ -1803,82 +1804,6 @@ class ParseResult {
|
| }
|
|
|
| /**
|
| - * This class is used to gather and print performance information.
|
| - */
|
| -class PerformanceLog {
|
| - final StringSink sink;
|
| - int _level = 0;
|
| -
|
| - PerformanceLog(this.sink);
|
| -
|
| - /**
|
| - * Enter a new execution section, which starts at one point of code, runs
|
| - * some time, and then ends at the other point of code.
|
| - *
|
| - * The client must call [PerformanceLogSection.exit] for every [enter].
|
| - */
|
| - PerformanceLogSection enter(String msg) {
|
| - writeln('+++ $msg.');
|
| - _level++;
|
| - return new PerformanceLogSection(this, msg);
|
| - }
|
| -
|
| - /**
|
| - * Return the result of the function [f] invocation and log the elapsed time.
|
| - *
|
| - * Each invocation of [run] creates a new enclosed section in the log,
|
| - * which begins with printing [msg], then any log output produced during
|
| - * [f] invocation, and ends with printing [msg] with the elapsed time.
|
| - */
|
| - /*=T*/ run/*<T>*/(String msg, /*=T*/ f()) {
|
| - Stopwatch timer = new Stopwatch()..start();
|
| - try {
|
| - writeln('+++ $msg.');
|
| - _level++;
|
| - return f();
|
| - } finally {
|
| - _level--;
|
| - int ms = timer.elapsedMilliseconds;
|
| - writeln('--- $msg in $ms ms.');
|
| - }
|
| - }
|
| -
|
| - /**
|
| - * Write a new line into the log.
|
| - */
|
| - void writeln(String msg) {
|
| - if (sink != null) {
|
| - String indent = '\t' * _level;
|
| - sink.writeln('$indent$msg');
|
| - }
|
| - }
|
| -}
|
| -
|
| -/**
|
| - * The performance measurement section for operations that start and end
|
| - * at different place in code, so cannot be run using [PerformanceLog.run].
|
| - *
|
| - * The client must call [exit] for every [PerformanceLog.enter].
|
| - */
|
| -class PerformanceLogSection {
|
| - final PerformanceLog _logger;
|
| - final String _msg;
|
| - final Stopwatch _timer = new Stopwatch()..start();
|
| -
|
| - PerformanceLogSection(this._logger, this._msg);
|
| -
|
| - /**
|
| - * Stop the timer, log the time.
|
| - */
|
| - void exit() {
|
| - _timer.stop();
|
| - _logger._level--;
|
| - int ms = _timer.elapsedMilliseconds;
|
| - _logger.writeln('--- $_msg in $ms ms.');
|
| - }
|
| -}
|
| -
|
| -/**
|
| * The result with the [CompilationUnitElement] of a single file.
|
| *
|
| * These results are self-consistent, i.e. all elements and types accessible
|
|
|