d810c7d0c0
This commit was generated by the following steps: - Manually change the SDK constraint in `pkg/front_end/pubspec.yaml` - Run `gclient sync` - Run `find pkg/front_end/benchmarks pkg/front_end/lib pkg/front_end/presubmit_helper.dart pkg/front_end/presubmit_helper_spawn.dart pkg/front_end/test pkg/front_end/tool -iname '*.dart' | xargs tools/sdks/dart-sdk/bin/dart format` - Manually fix remaining long lines and add dead code ignore comments. - Fix coverage by running `dart --enable-asserts pkg/front_end/test/coverage_suite.dart --tasks=5 --add-and-remove-comments` - Fix `pkg/front_end/test/coverage_merger/assert_message_auto_ignored` by running `dart pkg/front_end/test/unit_test_suites.dart -p pkg/front_end/test/coverage_merger/assert_message_auto_ignored -DupdateExpectations=true` The diff is large because the version bump causes the formatter to switch into "tall mode". Change-Id: I6a6a696410da8b168060acfe0e4d6e91e294c4f0 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/447628 Auto-Submit: Paul Berry <paulberry@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com> Commit-Queue: Johnni Winther <johnniwinther@google.com>
52 lines
1.8 KiB
Dart
52 lines
1.8 KiB
Dart
// Copyright (c) 2022, 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.
|
|
|
|
import 'package:kernel/ast.dart';
|
|
|
|
/// Writes constant coverage for [component] into [buffer}.
|
|
///
|
|
/// Libraries for whose import uri [skipImportUri] returns `true` are skipped.
|
|
void addConstantCoverageToExpectation(
|
|
Component component,
|
|
StringBuffer buffer, {
|
|
required bool Function(Uri?) skipImportUri,
|
|
}) {
|
|
bool printedConstantCoverageHeader = false;
|
|
for (Source source in component.uriToSource.values) {
|
|
if (skipImportUri(source.importUri)) continue;
|
|
|
|
if (source.constantCoverageConstructors != null &&
|
|
source.constantCoverageConstructors!.isNotEmpty) {
|
|
if (!printedConstantCoverageHeader) {
|
|
buffer.writeln("");
|
|
buffer.writeln("");
|
|
buffer.writeln("Constructor coverage from constants:");
|
|
printedConstantCoverageHeader = true;
|
|
}
|
|
buffer.writeln("${source.fileUri}:");
|
|
for (Reference reference in source.constantCoverageConstructors!) {
|
|
buffer.writeln(
|
|
"- ${reference.node} (from ${locationToString(reference)})",
|
|
);
|
|
}
|
|
buffer.writeln("");
|
|
}
|
|
}
|
|
}
|
|
|
|
/// Computes a string representation of the location of the node from
|
|
/// [reference].
|
|
///
|
|
/// References to sdk nodes only include the file uri to avoid unnecessary
|
|
/// dependency on sdk library sources.
|
|
String locationToString(Reference reference) {
|
|
Location? location = reference.node?.location;
|
|
if (location != null && location.file.isScheme('org-dartlang-sdk')) {
|
|
// Don't include line/column numbers for sdk libraries to avoid unnecessary
|
|
// dependency on sdk library sources.
|
|
return '${location.file}';
|
|
}
|
|
return '$location';
|
|
}
|