| Index: lib/src/isolate.dart
|
| diff --git a/lib/src/isolate.dart b/lib/src/isolate.dart
|
| index 03efd5d7dd8cfc9b2d880647a963cfeda917cf42..db93d7350088eb9dd85dc877f7ba9288c9b412b2 100644
|
| --- a/lib/src/isolate.dart
|
| +++ b/lib/src/isolate.dart
|
| @@ -16,6 +16,7 @@ import 'library.dart';
|
| import 'pause_event.dart';
|
| import 'scope.dart';
|
| import 'sentinel.dart';
|
| +import 'source_report.dart';
|
| import 'stack.dart';
|
| import 'stream_manager.dart';
|
| import 'utils.dart';
|
| @@ -343,6 +344,38 @@ class VMIsolateRef {
|
| return _scope.sendRequest(method, params);
|
| }
|
|
|
| + /// Generates a report of code coverage information and possible break points
|
| + /// for the scripts in this isolate.
|
| + ///
|
| + /// If [includeCoverageReport] is `true`, the report includes code coverage
|
| + /// information via [VMSourceReportRange.hits] and
|
| + /// [VMSourceReportRange.misses] in [VMSourceReport.ranges]. Otherwise,
|
| + /// [VMSourceReportRange.coverage] is `null`.
|
| + ///
|
| + /// If [includePossibleBreakpoints] is `true`, the report includes a list of
|
| + /// token positions which correspond to possible breakpoints via
|
| + /// [VMSourceReportRange.possibleBreakpoints] in [VMSourceReport.ranges].
|
| + /// Otherwise, [VMSourceReportRange.possibleBreakpoints] is `null`.
|
| + ///
|
| + /// If [forceCompile] is `true`, all functions in the range of the report
|
| + /// will be compiled. If `false`, functions that are never used may not appear
|
| + /// in [VMSourceReportRange.misses]. Forcing compilation can cause a
|
| + /// compilation error, which could terminate the running Dart program.
|
| + Future<VMSourceReport> getSourceReport(
|
| + {bool includeCoverageReport: true,
|
| + bool includePossibleBreakpoints: true,
|
| + bool forceCompile: false}) async {
|
| + var reports = <String>[];
|
| + if (includeCoverageReport) reports.add('Coverage');
|
| + if (includePossibleBreakpoints) reports.add('PossibleBreakpoints');
|
| +
|
| + var params = {'reports': reports};
|
| + if (forceCompile) params['forceCompile'] = true;
|
| +
|
| + var json = await _scope.sendRequest('getSourceReport', params);
|
| + return newSourceReport(_scope, json);
|
| + }
|
| +
|
| bool operator ==(other) => other is VMIsolateRef &&
|
| other._scope.isolateId == _scope.isolateId;
|
|
|
|
|