Version 2.19.0-54.0.dev
Merge commit '6a8c81205a724f9ca5d181f1891216a943418335' into 'dev'
diff --git a/pkg/analyzer/tool/generate_files b/pkg/analyzer/tool/generate_files
index ad2a71e..92ce05c 100755
--- a/pkg/analyzer/tool/generate_files
+++ b/pkg/analyzer/tool/generate_files
@@ -40,7 +40,6 @@
declare -a VM_OPTIONS
VM_OPTIONS+=("--enable-asserts")
-VM_OPTIONS+=("--packages=${ROOT_DIR}/.packages")
cd "${SCRIPT_DIR}"
"${DART}" "${VM_OPTIONS[@]}" "messages/generate.dart"
diff --git a/pkg/dart2js_info/.status b/pkg/dart2js_info/.status
deleted file mode 100644
index 364ca4b..0000000
--- a/pkg/dart2js_info/.status
+++ /dev/null
@@ -1,4 +0,0 @@
-# Copyright (c) 2015, 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.
-
diff --git a/pkg/dart2js_info/analysis_options.yaml b/pkg/dart2js_info/analysis_options.yaml
index 7ad2eaf..4074339 100644
--- a/pkg/dart2js_info/analysis_options.yaml
+++ b/pkg/dart2js_info/analysis_options.yaml
@@ -4,3 +4,10 @@
errors:
# Until the protobuf package generates the right code - or the right ignores
constant_identifier_names: ignore
+
+linter:
+ rules:
+ - always_declare_return_types
+ # Enable once we update protobuf generation
+ #- directives_ordering
+ - unawaited_futures
diff --git a/pkg/dart2js_info/bin/src/code_deps.dart b/pkg/dart2js_info/bin/src/code_deps.dart
index d11a043..96c4b0c 100644
--- a/pkg/dart2js_info/bin/src/code_deps.dart
+++ b/pkg/dart2js_info/bin/src/code_deps.dart
@@ -29,7 +29,6 @@
import 'package:args/command_runner.dart';
import 'package:collection/collection.dart';
-
import 'package:dart2js_info/info.dart';
import 'package:dart2js_info/src/graph.dart';
import 'package:dart2js_info/src/io.dart';
@@ -92,7 +91,7 @@
/// A query supported by this tool.
abstract class Query {
- run(Graph<Info> graph);
+ void run(Graph<Info> graph);
}
/// Query that searches for a single path between two elements.
diff --git a/pkg/dart2js_info/bin/src/convert.dart b/pkg/dart2js_info/bin/src/convert.dart
index 7439957..6abb135 100644
--- a/pkg/dart2js_info/bin/src/convert.dart
+++ b/pkg/dart2js_info/bin/src/convert.dart
@@ -4,8 +4,8 @@
import 'package:args/command_runner.dart';
-import 'to_json.dart' show ToJsonCommand;
import 'to_binary.dart' show ToBinaryCommand;
+import 'to_json.dart' show ToJsonCommand;
import 'to_proto.dart' show ToProtoCommand;
import 'usage_exception.dart';
@@ -22,7 +22,7 @@
_addSubcommand(ToProtoCommand());
}
- _addSubcommand(Command<void> command) {
+ void _addSubcommand(Command<void> command) {
addSubcommand(command);
command.argParser
..addOption('out',
diff --git a/pkg/dart2js_info/bin/src/coverage_log_server.dart b/pkg/dart2js_info/bin/src/coverage_log_server.dart
index 683a935..f93237b 100644
--- a/pkg/dart2js_info/bin/src/coverage_log_server.dart
+++ b/pkg/dart2js_info/bin/src/coverage_log_server.dart
@@ -111,7 +111,7 @@
: jsCode = _adjustRequestUrl(File(jsPath).readAsStringSync(), prefix),
prefix = _normalize(prefix);
- run() async {
+ Future<void> run() async {
await shelf.serve(_handler, hostname, port);
var urlBase = "http://$hostname:$port${prefix == '' ? '/' : '/$prefix/'}";
var htmlFilename = htmlPath == null ? '' : path.basename(htmlPath!);
@@ -121,7 +121,7 @@
" - coverage reporting: ${urlBase}coverage\n");
}
- _expectedPath(String tail) => prefix == '' ? tail : '$prefix/$tail';
+ String _expectedPath(String tail) => prefix == '' ? tail : '$prefix/$tail';
FutureOr<shelf.Response> _handler(shelf.Request request) async {
var urlPath = request.url.path;
@@ -161,7 +161,7 @@
return shelf.Response.notFound('Not found: "$urlPath"');
}
- _record(List entries) {
+ void _record(List entries) {
for (var entry in entries) {
var id = entry[0];
data.putIfAbsent('$id', () => {'name': entry[1], 'count': 0});
@@ -172,7 +172,7 @@
bool _savePending = false;
int _total = 0;
- _enqueueSave() async {
+ Future<void> _enqueueSave() async {
if (!_savePending) {
_savePending = true;
await Future.delayed(Duration(seconds: 3));
@@ -188,13 +188,13 @@
}
/// Removes leading and trailing slashes of [uriPath].
-_normalize(String uriPath) {
+String _normalize(String uriPath) {
if (uriPath.startsWith('/')) uriPath = uriPath.substring(1);
if (uriPath.endsWith('/')) uriPath = uriPath.substring(0, uriPath.length - 1);
return uriPath;
}
-_adjustRequestUrl(String code, String prefix) {
+String _adjustRequestUrl(String code, String prefix) {
var url = prefix == '' ? 'coverage' : '$prefix/coverage';
var hook = '''
self.dartCallInstrumentation = function(id, name) {
diff --git a/pkg/dart2js_info/bin/src/debug_info.dart b/pkg/dart2js_info/bin/src/debug_info.dart
index 5a237e4..20efb24 100644
--- a/pkg/dart2js_info/bin/src/debug_info.dart
+++ b/pkg/dart2js_info/bin/src/debug_info.dart
@@ -44,7 +44,7 @@
}
/// Validates that codesize of elements adds up to total codesize.
-validateSize(AllInfo info, String debugLibName) {
+void validateSize(AllInfo info, String debugLibName) {
// Gather data from visiting all info elements.
final tracker = _SizeTracker(debugLibName);
info.accept(tracker);
@@ -87,10 +87,10 @@
}
/// Validates that every element in the model has a parent (except libraries).
-validateParents(AllInfo info) {
+void validateParents(AllInfo info) {
final parentlessInfos = <Info>{};
- failIfNoParents(List<Info> infos) {
+ void failIfNoParents(List<Info> infos) {
for (var info in infos) {
if (info.parent == null) {
parentlessInfos.add(info);
@@ -160,7 +160,7 @@
bool _debug = false;
@override
- visitLibrary(LibraryInfo info) {
+ void visitLibrary(LibraryInfo info) {
if (_debugLibName != null) _debug = info.name.contains(_debugLibName!);
_push();
if (_debug) {
@@ -176,7 +176,7 @@
}
}
- _handleCodeInfo(info) {
+ void _handleCodeInfo(info) {
discovered.add(info);
var code = info.code;
if (_debug && code != null) {
@@ -209,26 +209,26 @@
}
@override
- visitField(FieldInfo info) {
+ void visitField(FieldInfo info) {
_handleCodeInfo(info);
super.visitField(info);
}
@override
- visitFunction(FunctionInfo info) {
+ void visitFunction(FunctionInfo info) {
_handleCodeInfo(info);
super.visitFunction(info);
}
@override
- visitTypedef(TypedefInfo info) {
+ void visitTypedef(TypedefInfo info) {
if (_debug) print('$info');
stack.last._totalSize += info.size;
super.visitTypedef(info);
}
@override
- visitClass(ClassInfo info) {
+ void visitClass(ClassInfo info) {
if (_debug) {
print('$info');
_debugCode.write(' ' * _indent);
@@ -246,7 +246,7 @@
}
@override
- visitClassType(ClassTypeInfo info) {
+ void visitClassType(ClassTypeInfo info) {
if (_debug) {
print('$info');
_debugCode.write(' ' * _indent);
@@ -304,7 +304,7 @@
// differently than 'deps' links
int inUsesNotInDependencies = 0;
int inDependenciesNotInUses = 0;
- sameEdges(f) {
+ void sameEdges(f) {
var targets1 = g1.targetsOf(f).toSet();
var targets2 = g2.targetsOf(f).toSet();
inUsesNotInDependencies += targets1.difference(targets2).length;
@@ -324,7 +324,7 @@
// Validates that all elements are reachable from `main` in the dependency
// graph.
-verifyDeps(AllInfo info) {
+void verifyDeps(AllInfo info) {
var graph = graphFromInfo(info);
var entrypoint = info.program!.entrypoint;
var reachables = Set.from(graph.preOrder(entrypoint));
@@ -340,5 +340,5 @@
}
}
-_pass(String msg) => print('\x1b[32mPASS\x1b[0m: $msg');
-_fail(String msg) => print('\x1b[31mFAIL\x1b[0m: $msg');
+void _pass(String msg) => print('\x1b[32mPASS\x1b[0m: $msg');
+void _fail(String msg) => print('\x1b[31mFAIL\x1b[0m: $msg');
diff --git a/pkg/dart2js_info/bin/src/deferred_library_layout.dart b/pkg/dart2js_info/bin/src/deferred_library_layout.dart
index 0e3416b..efe06d7 100644
--- a/pkg/dart2js_info/bin/src/deferred_library_layout.dart
+++ b/pkg/dart2js_info/bin/src/deferred_library_layout.dart
@@ -30,7 +30,7 @@
}
}
-_showLayout(String file) async {
+Future<void> _showLayout(String file) async {
AllInfo info = await infoFromFile(file);
Map<OutputUnitInfo, Map<LibraryInfo, List<BasicInfo>>> hunkMembers = {};
@@ -83,4 +83,4 @@
});
}
-_libOf(e) => e is LibraryInfo || e == null ? e : _libOf(e.parent);
+dynamic _libOf(e) => e is LibraryInfo || e == null ? e : _libOf(e.parent);
diff --git a/pkg/dart2js_info/bin/src/deferred_library_size.dart b/pkg/dart2js_info/bin/src/deferred_library_size.dart
index 6cf0ceb..7819a0f 100644
--- a/pkg/dart2js_info/bin/src/deferred_library_size.dart
+++ b/pkg/dart2js_info/bin/src/deferred_library_size.dart
@@ -8,7 +8,6 @@
import 'dart:math';
import 'package:args/command_runner.dart';
-
import 'package:dart2js_info/info.dart';
import 'package:dart2js_info/src/io.dart';
@@ -56,7 +55,7 @@
int longest = importSizes.fold('Percent of code deferred'.length,
(longest, importSize) => max(longest, importSize.import.length));
- printRow(label, data, {int width = 15}) {
+ void printRow(label, data, {int width = 15}) {
print('${label.toString().padRight(longest + 1)}'
'${data.toString().padLeft(width)}');
}
diff --git a/pkg/dart2js_info/bin/src/function_size_analysis.dart b/pkg/dart2js_info/bin/src/function_size_analysis.dart
index 04aa819..49c4efc 100644
--- a/pkg/dart2js_info/bin/src/function_size_analysis.dart
+++ b/pkg/dart2js_info/bin/src/function_size_analysis.dart
@@ -33,7 +33,7 @@
}
}
-showCodeDistribution(AllInfo info,
+void showCodeDistribution(AllInfo info,
{bool Function(Info info)? filter, bool showLibrarySizes = false}) {
var realTotal = info.program!.size;
filter ??= (i) => true;
@@ -152,25 +152,26 @@
}
}
-_showLibHeader(int namePadding) {
+void _showLibHeader(int namePadding) {
print(' ${pad("Library", namePadding, right: true)}'
' ${pad("bytes", 8)} ${pad("%", 6)}');
}
-_showLib(String msg, int size, int total, int namePadding) {
+void _showLib(String msg, int size, int total, int namePadding) {
var percent = (size * 100 / total).toStringAsFixed(2);
print(' ${pad(msg, namePadding, right: true)}'
' ${pad(size, 8)} ${pad(percent, 6)}%');
}
-_showElementHeader() {
+void _showElementHeader() {
print('${pad("element size", 16)} '
'${pad("dominated size", 18)} '
'${pad("reachable size", 18)} '
'Element identifier');
}
-_showElement(String name, int size, int dominatedSize, int maxSize, int total) {
+void _showElement(
+ String name, int size, int dominatedSize, int maxSize, int total) {
var percent = (size * 100 / total).toStringAsFixed(2);
var minPercent = (dominatedSize * 100 / total).toStringAsFixed(2);
var maxPercent = (maxSize * 100 / total).toStringAsFixed(2);
diff --git a/pkg/dart2js_info/bin/src/inject_text.dart b/pkg/dart2js_info/bin/src/inject_text.dart
index 045f7b3..bec6171 100644
--- a/pkg/dart2js_info/bin/src/inject_text.dart
+++ b/pkg/dart2js_info/bin/src/inject_text.dart
@@ -33,14 +33,15 @@
Map<String, String> _cache = {};
-_getContents(OutputUnitInfo unit) => _cache.putIfAbsent(unit.filename, () {
+String _getContents(OutputUnitInfo unit) =>
+ _cache.putIfAbsent(unit.filename, () {
var uri = Uri.base.resolve(unit.filename);
return File.fromUri(uri).readAsStringSync();
});
-_fillSpan(CodeSpan span, OutputUnitInfo unit) {
+void _fillSpan(CodeSpan span, OutputUnitInfo unit) {
if (span.text == null && span.start != null && span.end != 0) {
var contents = _getContents(unit);
- span.text = contents.substring(span.start, span.end);
+ span.text = contents.substring(span.start!, span.end);
}
}
diff --git a/pkg/dart2js_info/bin/src/library_size_split.dart b/pkg/dart2js_info/bin/src/library_size_split.dart
index 8a1e77a..c5dae91 100644
--- a/pkg/dart2js_info/bin/src/library_size_split.dart
+++ b/pkg/dart2js_info/bin/src/library_size_split.dart
@@ -63,7 +63,6 @@
import 'dart:math' show max;
import 'package:args/command_runner.dart';
-
import 'package:dart2js_info/info.dart';
import 'package:dart2js_info/src/io.dart';
import 'package:yaml/yaml.dart';
@@ -129,12 +128,12 @@
final realTotal = info.program!.size;
var longest = 0;
final rows = <_Row>[];
- addRow(String label, int value) {
+ void addRow(String label, int value) {
rows.add(_Row(label, value));
longest = max(longest, label.length);
}
- printRow(_Row row) {
+ void printRow(_Row row) {
if (row is _Divider) {
print(' ${'-' * (longest + 18)}');
return;
@@ -205,7 +204,7 @@
const _Divider() : super('', 0);
}
-_pad(value, n, {bool right = false}) {
+String _pad(value, n, {bool right = false}) {
final s = '$value';
if (s.length >= n) return s;
var pad = ' ' * (n - s.length);
diff --git a/pkg/dart2js_info/bin/src/live_code_size_analysis.dart b/pkg/dart2js_info/bin/src/live_code_size_analysis.dart
index 2a4d135..6e4bf19 100644
--- a/pkg/dart2js_info/bin/src/live_code_size_analysis.dart
+++ b/pkg/dart2js_info/bin/src/live_code_size_analysis.dart
@@ -38,7 +38,6 @@
import 'dart:io';
import 'package:args/command_runner.dart';
-
import 'package:dart2js_info/info.dart';
import 'package:dart2js_info/src/io.dart';
import 'package:dart2js_info/src/util.dart';
@@ -69,7 +68,7 @@
}
}
-_liveCodeAnalysis(infoFile, coverageFile, bool verbose) async {
+Future<void> _liveCodeAnalysis(infoFile, coverageFile, bool verbose) async {
var info = await infoFromFile(infoFile);
var coverage = jsonDecode(File(coverageFile).readAsStringSync());
@@ -132,11 +131,11 @@
}
}
-_showHeader(String msg, String header1, String header2) {
+void _showHeader(String msg, String header1, String header2) {
print(' ${pad(msg, 30, right: true)} ${pad(header1, 8)} ${pad(header2, 6)}');
}
-_show(String msg, int size, int total) {
+void _show(String msg, int size, int total) {
var percent = (size * 100 / total).toStringAsFixed(2);
print(' ${pad(msg, 30, right: true)} ${pad(size, 8)} ${pad(percent, 6)}%');
}
diff --git a/pkg/dart2js_info/bin/src/runtime_coverage_analysis.dart b/pkg/dart2js_info/bin/src/runtime_coverage_analysis.dart
index 5c8019d..9d4bcbe 100644
--- a/pkg/dart2js_info/bin/src/runtime_coverage_analysis.dart
+++ b/pkg/dart2js_info/bin/src/runtime_coverage_analysis.dart
@@ -32,7 +32,6 @@
import 'package:args/command_runner.dart';
import 'package:collection/collection.dart';
-
import 'package:dart2js_info/info.dart';
import 'package:dart2js_info/src/io.dart';
import 'package:dart2js_info/src/util.dart';
@@ -67,7 +66,7 @@
if (showPackages) {
await _reportWithPackages(args[0], args[1]);
} else if (filterFile.isNotEmpty) {
- _reportWithClassFilter(args[0], args[1], filterFile);
+ await _reportWithClassFilter(args[0], args[1], filterFile);
} else {
await _report(args[0], args[1]);
}
@@ -434,16 +433,16 @@
print('=' * 72);
}
-_showHeader(String msg, String header1, String header2) {
+void _showHeader(String msg, String header1, String header2) {
print(' ${pad(msg, 30, right: true)} ${pad(header1, 8)} ${pad(header2, 6)}');
}
-_show(String msg, int size, int total) {
+void _show(String msg, int size, int total) {
var percent = (size * 100 / total).toStringAsFixed(2);
print(' ${pad(msg, 30, right: true)} ${pad(size, 8)} ${pad(percent, 6)}%');
}
-_leftPadded(String msg1, String msg2) {
+void _leftPadded(String msg1, String msg2) {
print(' ${pad(msg1, 50, right: true)} $msg2');
}
diff --git a/pkg/dart2js_info/bin/src/show_inferred_types.dart b/pkg/dart2js_info/bin/src/show_inferred_types.dart
index 417d839..4238fea 100644
--- a/pkg/dart2js_info/bin/src/show_inferred_types.dart
+++ b/pkg/dart2js_info/bin/src/show_inferred_types.dart
@@ -8,9 +8,8 @@
import 'dart:io';
import 'package:args/command_runner.dart';
-
-import 'package:dart2js_info/src/util.dart';
import 'package:dart2js_info/src/io.dart';
+import 'package:dart2js_info/src/util.dart';
import 'usage_exception.dart';
@@ -33,14 +32,15 @@
usageException(
'Missing arguments, expected: info.data <function-name-regex>');
}
- _showInferredTypes(args[0], args[1], argRes['long-names']);
+ await _showInferredTypes(args[0], args[1], argRes['long-names']);
}
}
-_showInferredTypes(String infoFile, String pattern, bool showLongName) async {
+Future<void> _showInferredTypes(
+ String infoFile, String pattern, bool showLongName) async {
var info = await infoFromFile(infoFile);
var nameRegExp = RegExp(pattern);
- matches(e) => nameRegExp.hasMatch(longName(e));
+ bool matches(e) => nameRegExp.hasMatch(longName(e));
bool noResults = true;
void showMethods() {
diff --git a/pkg/dart2js_info/bin/src/to_binary.dart b/pkg/dart2js_info/bin/src/to_binary.dart
index 2f97835..60eefb5 100644
--- a/pkg/dart2js_info/bin/src/to_binary.dart
+++ b/pkg/dart2js_info/bin/src/to_binary.dart
@@ -5,9 +5,8 @@
import 'dart:io';
import 'package:args/command_runner.dart';
-
-import 'package:dart2js_info/info.dart';
import 'package:dart2js_info/binary_serialization.dart' as binary;
+import 'package:dart2js_info/info.dart';
import 'package:dart2js_info/src/io.dart';
import 'inject_text.dart';
diff --git a/pkg/dart2js_info/bin/src/to_devtools_format.dart b/pkg/dart2js_info/bin/src/to_devtools_format.dart
index 9d8e756..8e12f5d 100644
--- a/pkg/dart2js_info/bin/src/to_devtools_format.dart
+++ b/pkg/dart2js_info/bin/src/to_devtools_format.dart
@@ -1,13 +1,14 @@
import 'dart:convert';
import 'dart:io';
-import 'usage_exception.dart';
-import 'package:args/command_runner.dart';
+import 'package:args/command_runner.dart';
import 'package:dart2js_info/info.dart';
import 'package:dart2js_info/src/io.dart';
-import 'package:vm_snapshot_analysis/treemap.dart';
import 'package:dart2js_info/src/util.dart';
import 'package:vm_snapshot_analysis/program_info.dart' as vm;
+import 'package:vm_snapshot_analysis/treemap.dart';
+
+import 'usage_exception.dart';
/// Command that converts a `--dump-info` JSON output into a format ingested by Devtools.
///
diff --git a/pkg/dart2js_info/bin/src/to_json.dart b/pkg/dart2js_info/bin/src/to_json.dart
index 2e6b117..5a6c806 100644
--- a/pkg/dart2js_info/bin/src/to_json.dart
+++ b/pkg/dart2js_info/bin/src/to_json.dart
@@ -2,11 +2,10 @@
// 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 'dart:io';
import 'dart:convert';
+import 'dart:io';
import 'package:args/command_runner.dart';
-
import 'package:dart2js_info/info.dart';
import 'package:dart2js_info/json_info_codec.dart';
import 'package:dart2js_info/src/io.dart';
diff --git a/pkg/dart2js_info/bin/tools.dart b/pkg/dart2js_info/bin/tools.dart
index ab2c1bf..75c8b56 100644
--- a/pkg/dart2js_info/bin/tools.dart
+++ b/pkg/dart2js_info/bin/tools.dart
@@ -6,13 +6,13 @@
import 'src/code_deps.dart';
import 'src/common_command.dart';
+import 'src/convert.dart';
import 'src/coverage_log_server.dart';
import 'src/debug_info.dart';
-import 'src/diff.dart';
import 'src/deferred_library_check.dart';
-import 'src/deferred_library_size.dart';
import 'src/deferred_library_layout.dart';
-import 'src/convert.dart';
+import 'src/deferred_library_size.dart';
+import 'src/diff.dart';
import 'src/function_size_analysis.dart';
import 'src/library_size_split.dart';
import 'src/live_code_size_analysis.dart';
diff --git a/pkg/dart2js_info/lib/binary_serialization.dart b/pkg/dart2js_info/lib/binary_serialization.dart
index 2e55724..ef241ca 100644
--- a/pkg/dart2js_info/lib/binary_serialization.dart
+++ b/pkg/dart2js_info/lib/binary_serialization.dart
@@ -8,9 +8,9 @@
import 'dart:convert';
+import 'info.dart';
import 'src/binary/sink.dart';
import 'src/binary/source.dart';
-import 'info.dart';
void encode(AllInfo info, Sink<List<int>> sink) {
BinaryPrinter(BinarySink(sink)).visitAll(info);
@@ -143,7 +143,7 @@
});
}
- _visitCodeSpan(CodeSpan code) {
+ void _visitCodeSpan(CodeSpan code) {
sink.writeIntOrNull(code.start);
sink.writeIntOrNull(code.end);
sink.writeStringOrNull(code.text);
@@ -376,7 +376,7 @@
info.classTypes.addAll(source.readList(readClassType));
info.typedefs.addAll(source.readList(readTypedef));
- setParent(BasicInfo child) => child.parent = info;
+ LibraryInfo setParent(BasicInfo child) => child.parent = info;
info.topLevelFunctions.forEach(setParent);
info.topLevelVariables.forEach(setParent);
info.classes.forEach(setParent);
@@ -393,7 +393,7 @@
info.functions.addAll(source.readList(readFunction));
info.supers.addAll(source.readList(readClass));
- setParent(BasicInfo child) => child.parent = info;
+ ClassInfo setParent(BasicInfo child) => child.parent = info;
info.fields.forEach(setParent);
info.functions.forEach(setParent);
return info;
diff --git a/pkg/dart2js_info/lib/deferred_library_check.dart b/pkg/dart2js_info/lib/deferred_library_check.dart
index 07d53dc..c7e50b8 100644
--- a/pkg/dart2js_info/lib/deferred_library_check.dart
+++ b/pkg/dart2js_info/lib/deferred_library_check.dart
@@ -87,7 +87,7 @@
var failures = <ManifestComplianceFailure>[];
- checkInfo(BasicInfo info) {
+ void checkInfo(BasicInfo info) {
if (info.size == 0) return;
var lib = _getLibraryOf(info);
if (lib != null && _isPackageUri(lib.uri)) {
diff --git a/pkg/dart2js_info/lib/info.dart b/pkg/dart2js_info/lib/info.dart
index 94140c4..051d75a 100644
--- a/pkg/dart2js_info/lib/info.dart
+++ b/pkg/dart2js_info/lib/info.dart
@@ -632,7 +632,7 @@
/// so on.
class RecursiveInfoVisitor extends InfoVisitor<void> {
@override
- visitAll(AllInfo info) {
+ void visitAll(AllInfo info) {
// Note: we don't visit functions, fields, classes, and typedefs because
// they are reachable from the library info.
info.libraries.forEach(visitLibrary);
@@ -640,10 +640,10 @@
}
@override
- visitProgram(ProgramInfo info) {}
+ void visitProgram(ProgramInfo info) {}
@override
- visitLibrary(LibraryInfo info) {
+ void visitLibrary(LibraryInfo info) {
info.topLevelFunctions.forEach(visitFunction);
info.topLevelVariables.forEach(visitField);
info.classes.forEach(visitClass);
@@ -652,33 +652,33 @@
}
@override
- visitClass(ClassInfo info) {
+ void visitClass(ClassInfo info) {
info.functions.forEach(visitFunction);
info.fields.forEach(visitField);
}
@override
- visitClassType(ClassTypeInfo info) {}
+ void visitClassType(ClassTypeInfo info) {}
@override
- visitField(FieldInfo info) {
+ void visitField(FieldInfo info) {
info.closures.forEach(visitClosure);
}
@override
- visitConstant(ConstantInfo info) {}
+ void visitConstant(ConstantInfo info) {}
@override
- visitFunction(FunctionInfo info) {
+ void visitFunction(FunctionInfo info) {
info.closures.forEach(visitClosure);
}
@override
- visitTypedef(TypedefInfo info) {}
+ void visitTypedef(TypedefInfo info) {}
@override
- visitOutput(OutputUnitInfo info) {}
+ void visitOutput(OutputUnitInfo info) {}
@override
- visitClosure(ClosureInfo info) {
+ void visitClosure(ClosureInfo info) {
visitFunction(info.function);
}
}
diff --git a/pkg/dart2js_info/lib/json_info_codec.dart b/pkg/dart2js_info/lib/json_info_codec.dart
index a969a9d..4e0bc18 100644
--- a/pkg/dart2js_info/lib/json_info_codec.dart
+++ b/pkg/dart2js_info/lib/json_info_codec.dart
@@ -591,10 +591,11 @@
}
@override
- visitTypedef(TypedefInfo info) => _visitBasicInfo(info)..['type'] = info.type;
+ Map visitTypedef(TypedefInfo info) =>
+ _visitBasicInfo(info)..['type'] = info.type;
@override
- visitOutput(OutputUnitInfo info) => _visitBasicInfo(info)
+ Map visitOutput(OutputUnitInfo info) => _visitBasicInfo(info)
..['filename'] = info.filename
..['imports'] = info.imports;
diff --git a/pkg/dart2js_info/lib/src/common_element.dart b/pkg/dart2js_info/lib/src/common_element.dart
index ff3c055..6e7f635 100644
--- a/pkg/dart2js_info/lib/src/common_element.dart
+++ b/pkg/dart2js_info/lib/src/common_element.dart
@@ -7,7 +7,7 @@
CommonElement(this.oldInfo, this.newInfo);
- get name => longName(oldInfo, useLibraryUri: true);
+ String get name => longName(oldInfo, useLibraryUri: true);
}
List<CommonElement> findCommonalities(AllInfo oldInfo, AllInfo newInfo) {
@@ -31,27 +31,27 @@
}
@override
- visitAll(AllInfo info) {
+ void visitAll(AllInfo info) {
throw StateError('should not run common on AllInfo');
}
@override
- visitProgram(ProgramInfo info) {
+ void visitProgram(ProgramInfo info) {
throw StateError('should not run common on ProgramInfo');
}
@override
- visitOutput(OutputUnitInfo info) {
+ void visitOutput(OutputUnitInfo info) {
throw StateError('should not run common on OutputUnitInfo');
}
@override
- visitConstant(ConstantInfo info) {
+ void visitConstant(ConstantInfo info) {
throw StateError('should not run common on ConstantInfo');
}
@override
- visitLibrary(LibraryInfo info) {
+ void visitLibrary(LibraryInfo info) {
var other = _other as LibraryInfo;
commonElements.add(CommonElement(info, other));
_commonList(info.topLevelVariables, other.topLevelVariables);
@@ -60,7 +60,7 @@
}
@override
- visitClass(ClassInfo info) {
+ void visitClass(ClassInfo info) {
var other = _other as ClassInfo;
commonElements.add(CommonElement(info, other));
_commonList(info.fields, other.fields);
@@ -68,34 +68,34 @@
}
@override
- visitClassType(ClassTypeInfo info) {
+ void visitClassType(ClassTypeInfo info) {
var other = _other as ClassInfo;
commonElements.add(CommonElement(info, other));
}
@override
- visitClosure(ClosureInfo info) {
+ void visitClosure(ClosureInfo info) {
var other = _other as ClosureInfo;
commonElements.add(CommonElement(info, other));
_commonList([info.function], [other.function]);
}
@override
- visitField(FieldInfo info) {
+ void visitField(FieldInfo info) {
var other = _other as FieldInfo;
commonElements.add(CommonElement(info, other));
_commonList(info.closures, other.closures);
}
@override
- visitFunction(FunctionInfo info) {
+ void visitFunction(FunctionInfo info) {
var other = _other as FunctionInfo;
commonElements.add(CommonElement(info, other));
_commonList(info.closures, other.closures);
}
@override
- visitTypedef(TypedefInfo info) {
+ void visitTypedef(TypedefInfo info) {
var other = _other as ClassInfo;
commonElements.add(CommonElement(info, other));
}
diff --git a/pkg/dart2js_info/lib/src/diff.dart b/pkg/dart2js_info/lib/src/diff.dart
index bcd6431..ce2024d 100644
--- a/pkg/dart2js_info/lib/src/diff.dart
+++ b/pkg/dart2js_info/lib/src/diff.dart
@@ -49,28 +49,28 @@
}
@override
- visitAll(AllInfo info) {
+ void visitAll(AllInfo info) {
throw StateError('should not diff AllInfo');
}
@override
- visitProgram(ProgramInfo info) {
+ void visitProgram(ProgramInfo info) {
throw StateError('should not diff ProgramInfo');
}
@override
- visitOutput(OutputUnitInfo info) {
+ void visitOutput(OutputUnitInfo info) {
throw StateError('should not diff OutputUnitInfo');
}
// TODO(het): diff constants
@override
- visitConstant(ConstantInfo info) {
+ void visitConstant(ConstantInfo info) {
throw StateError('should not diff ConstantInfo');
}
@override
- visitLibrary(LibraryInfo info) {
+ void visitLibrary(LibraryInfo info) {
var other = _other as LibraryInfo;
_checkSize(info, other);
_diffList(info.topLevelVariables, other.topLevelVariables);
@@ -79,7 +79,7 @@
}
@override
- visitClass(ClassInfo info) {
+ void visitClass(ClassInfo info) {
var other = _other as ClassInfo;
_checkSize(info, other);
_checkDeferredStatus(info, other);
@@ -88,14 +88,14 @@
}
@override
- visitClassType(ClassTypeInfo info) {
+ void visitClassType(ClassTypeInfo info) {
var other = _other as ClassTypeInfo;
_checkSize(info, other);
_checkDeferredStatus(info, other);
}
@override
- visitClosure(ClosureInfo info) {
+ void visitClosure(ClosureInfo info) {
var other = _other as ClosureInfo;
_checkSize(info, other);
_checkDeferredStatus(info, other);
@@ -103,7 +103,7 @@
}
@override
- visitField(FieldInfo info) {
+ void visitField(FieldInfo info) {
var other = _other as FieldInfo;
_checkSize(info, other);
_checkDeferredStatus(info, other);
@@ -111,7 +111,7 @@
}
@override
- visitFunction(FunctionInfo info) {
+ void visitFunction(FunctionInfo info) {
var other = _other as FunctionInfo;
_checkSize(info, other);
_checkDeferredStatus(info, other);
@@ -119,7 +119,7 @@
}
@override
- visitTypedef(TypedefInfo info) {
+ void visitTypedef(TypedefInfo info) {
var other = _other as TypedefInfo;
_checkSize(info, other);
_checkDeferredStatus(info, other);
diff --git a/pkg/dart2js_info/lib/src/graph.dart b/pkg/dart2js_info/lib/src/graph.dart
index c416b05..793227fb 100644
--- a/pkg/dart2js_info/lib/src/graph.dart
+++ b/pkg/dart2js_info/lib/src/graph.dart
@@ -288,7 +288,7 @@
Map<N, int> postOrderId = {};
_DominatorFinder(this._graph);
- run(N root) {
+ void run(N root) {
immediateDominators[root] = root;
bool changed = true;
int i = 0;
diff --git a/pkg/dart2js_info/lib/src/io.dart b/pkg/dart2js_info/lib/src/io.dart
index a80da7c..fcc1fe1 100644
--- a/pkg/dart2js_info/lib/src/io.dart
+++ b/pkg/dart2js_info/lib/src/io.dart
@@ -5,9 +5,9 @@
import 'dart:convert';
import 'dart:io';
+import 'package:dart2js_info/binary_serialization.dart' as binary;
import 'package:dart2js_info/info.dart';
import 'package:dart2js_info/json_info_codec.dart';
-import 'package:dart2js_info/binary_serialization.dart' as binary;
Future<AllInfo> infoFromFile(String fileName) async {
var file = File(fileName);
diff --git a/pkg/dart2js_info/lib/src/util.dart b/pkg/dart2js_info/lib/src/util.dart
index 48bb5d1..8f7a058 100644
--- a/pkg/dart2js_info/lib/src/util.dart
+++ b/pkg/dart2js_info/lib/src/util.dart
@@ -149,7 +149,7 @@
}
/// Produce a string containing [value] padded with white space up to [n] chars.
-pad(value, n, {bool right = false}) {
+String pad(value, n, {bool right = false}) {
var s = '$value';
if (s.length >= n) return s;
var pad = ' ' * (n - s.length);
diff --git a/pkg/dart2js_info/test/binary_serialization_test.dart b/pkg/dart2js_info/test/binary_serialization_test.dart
index 842b212..635191e 100644
--- a/pkg/dart2js_info/test/binary_serialization_test.dart
+++ b/pkg/dart2js_info/test/binary_serialization_test.dart
@@ -6,20 +6,20 @@
import 'dart:io' show File, Platform;
import 'dart:typed_data' show BytesBuilder;
-import 'package:dart2js_info/json_info_codec.dart';
import 'package:dart2js_info/binary_serialization.dart' as binary;
+import 'package:dart2js_info/json_info_codec.dart';
import 'package:test/test.dart';
class ByteSink implements Sink<List<int>> {
BytesBuilder builder = BytesBuilder();
@override
- add(List<int> data) => builder.add(data);
+ void add(List<int> data) => builder.add(data);
@override
- close() {}
+ void close() {}
}
-main() {
+void main() {
group('json to proto conversion with deferred files', () {
test('hello_world_deferred', () {
var uri = Platform.script
diff --git a/pkg/dart2js_info/test/classes/classes.dart b/pkg/dart2js_info/test/classes/classes.dart
index d7b49e0..c4f87d1 100644
--- a/pkg/dart2js_info/test/classes/classes.dart
+++ b/pkg/dart2js_info/test/classes/classes.dart
@@ -35,7 +35,7 @@
}
}
-main() {
+void main() {
Super<Object> s = Subclass()..test();
Expect.throws(() => s.method(''));
dynamic x = Subsub1();
diff --git a/pkg/dart2js_info/test/graph_test.dart b/pkg/dart2js_info/test/graph_test.dart
index 71afc23..003c810 100644
--- a/pkg/dart2js_info/test/graph_test.dart
+++ b/pkg/dart2js_info/test/graph_test.dart
@@ -5,7 +5,7 @@
import 'package:dart2js_info/src/graph.dart';
import 'package:test/test.dart';
-main() {
+void main() {
var graph = makeTestGraph();
test('preorder traversal', () {
diff --git a/pkg/dart2js_info/test/hello_world/hello_world.dart b/pkg/dart2js_info/test/hello_world/hello_world.dart
index 800db1c..5eee9c4 100644
--- a/pkg/dart2js_info/test/hello_world/hello_world.dart
+++ b/pkg/dart2js_info/test/hello_world/hello_world.dart
@@ -1,3 +1,3 @@
-main() {
+void main() {
print("Hello, World!");
}
diff --git a/pkg/dart2js_info/test/json_to_proto_deferred_test.dart b/pkg/dart2js_info/test/json_to_proto_deferred_test.dart
index d88c036..831248d 100644
--- a/pkg/dart2js_info/test/json_to_proto_deferred_test.dart
+++ b/pkg/dart2js_info/test/json_to_proto_deferred_test.dart
@@ -9,7 +9,7 @@
import 'package:dart2js_info/proto_info_codec.dart';
import 'package:test/test.dart';
-main() {
+void main() {
group('json to proto conversion with deferred files', () {
test('hello_world_deferred', () {
var uri = Platform.script
diff --git a/pkg/dart2js_info/test/json_to_proto_test.dart b/pkg/dart2js_info/test/json_to_proto_test.dart
index 95d75be..10da832 100644
--- a/pkg/dart2js_info/test/json_to_proto_test.dart
+++ b/pkg/dart2js_info/test/json_to_proto_test.dart
@@ -10,7 +10,7 @@
import 'package:dart2js_info/proto_info_codec.dart';
import 'package:test/test.dart';
-main() {
+void main() {
group('json to proto conversion', () {
test('hello_world', () {
var uri = Platform.script.resolve('hello_world/hello_world.js.info.json');
diff --git a/pkg/dart2js_info/test/parse_test.dart b/pkg/dart2js_info/test/parse_test.dart
index 0145a79..193e481 100644
--- a/pkg/dart2js_info/test/parse_test.dart
+++ b/pkg/dart2js_info/test/parse_test.dart
@@ -8,7 +8,7 @@
import 'package:dart2js_info/json_info_codec.dart';
import 'package:test/test.dart';
-main() {
+void main() {
group('parse', () {
test('hello_world', () {
var uri = Platform.script.resolve('hello_world/hello_world.js.info.json');
diff --git a/pkg/test_runner/lib/src/update_errors.dart b/pkg/test_runner/lib/src/update_errors.dart
index d0640df..cb30f04 100644
--- a/pkg/test_runner/lib/src/update_errors.dart
+++ b/pkg/test_runner/lib/src/update_errors.dart
@@ -29,7 +29,7 @@
}
}
- List<String?> lines = source.split("\n");
+ var lines = List<String?>.of(source.split("\n"));
// Keep track of the indentation on any existing expectation markers. If
// found, it will try to preserve that indentation.
@@ -116,7 +116,7 @@
error.length != previousLength)) {
// If the error can't fit in a line comment, or no source location is
// specified, use an explicit location.
- if (error.column <= 2 || error.length == 0) {
+ if (error.column <= 2) {
if (error.length == 0) {
result.add("$comment [error column "
"${error.column}]");
diff --git a/pkg/test_runner/test/update_errors_test.dart b/pkg/test_runner/test/update_errors_test.dart
index 612e69f..cf7cb8b 100644
--- a/pkg/test_runner/test/update_errors_test.dart
+++ b/pkg/test_runner/test/update_errors_test.dart
@@ -400,7 +400,7 @@
makeError(line: 1, column: 1, length: 0, cfeError: "Foo"),
], expected: """
x
-// [error column 1, length 0]
+// [error column 1]
// [cfe] Foo""");
contextMessages();
diff --git a/sdk/lib/io/directory.dart b/sdk/lib/io/directory.dart
index dabd9f4..c64404ea 100644
--- a/sdk/lib/io/directory.dart
+++ b/sdk/lib/io/directory.dart
@@ -283,8 +283,9 @@
/// same recursive descent, but will report it as a [Link]
/// the second time it is seen.
///
- /// The result is a stream of [FileSystemEntity] objects
- /// for the directories, files, and links.
+ /// The result is a [Stream] of [FileSystemEntity] objects for the
+ /// directories, files, and links. The [Stream] will be in an arbitrary
+ /// order and does not include the special entries `'.'` and `'..'`.
Stream<FileSystemEntity> list(
{bool recursive = false, bool followLinks = true});
@@ -307,7 +308,8 @@
/// the second time it is seen.
///
/// Returns a [List] containing [FileSystemEntity] objects for the
- /// directories, files, and links.
+ /// directories, files, and links. The [List] will be in an arbitrary order
+ /// and does not include the special entries `'.'` and `'..'`.
List<FileSystemEntity> listSync(
{bool recursive = false, bool followLinks = true});
diff --git a/tools/VERSION b/tools/VERSION
index 5d5842a..869309a 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 19
PATCH 0
-PRERELEASE 53
+PRERELEASE 54
PRERELEASE_PATCH 0
\ No newline at end of file
diff --git a/tools/spec_parser/SpecParser.java b/tools/spec_parser/SpecParser.java
index dc2c6e8..c2c84e5 100644
--- a/tools/spec_parser/SpecParser.java
+++ b/tools/spec_parser/SpecParser.java
@@ -64,7 +64,7 @@
private static void helpAndExit() {
System.err.println("Expected arguments: [--verbose] <file>...");
- compileTimeErrorExit();
+ normalExit();
}
/// Receive command lines from standard input and produce feedback about