Version 2.18.0-222.0.dev
Merge commit '3c793774c34877d1b18aa62066e2ac0288257be8' into 'dev'
diff --git a/pkg/analyzer/lib/src/dart/analysis/file_state.dart b/pkg/analyzer/lib/src/dart/analysis/file_state.dart
index 34b9105..4e4f4e6 100644
--- a/pkg/analyzer/lib/src/dart/analysis/file_state.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/file_state.dart
@@ -663,7 +663,7 @@
/// Return the unlinked unit, from bytes or new.
AnalysisDriverUnlinkedUnit _getUnlinkedUnit() {
- final testData = _fsState.testData?.forFile(resource);
+ final testData = _fsState.testData?.forFile(resource, uri);
var bytes = _fsState._byteStore.get(_unlinkedKey!);
if (bytes != null && bytes.isNotEmpty) {
@@ -1262,7 +1262,7 @@
}
@visibleForTesting
- FileState? getExistingFileForResource(File file) {
+ FileState? getExisting(File file) {
return _pathToFile[file.path];
}
@@ -1460,13 +1460,14 @@
class FileSystemTestData {
final Map<File, FileTestData> files = {};
- FileTestData forFile(File file) {
- return files[file] ??= FileTestData._(file);
+ FileTestData forFile(File file, Uri uri) {
+ return files[file] ??= FileTestData._(file, uri);
}
}
class FileTestData {
final File file;
+ final Uri uri;
/// We add the key every time we get unlinked data from the byte store.
final List<String> unlinkedKeyGet = [];
@@ -1474,7 +1475,7 @@
/// We add the key every time we put unlinked data into the byte store.
final List<String> unlinkedKeyPut = [];
- FileTestData._(this.file);
+ FileTestData._(this.file, this.uri);
}
/// Precomputed properties of a file URI, used because [Uri] is relatively
@@ -1608,7 +1609,7 @@
});
@override
- LibraryFileStateKind? get library => this;
+ LibraryFileStateKind get library => this;
bool hasPart(PartFileStateKind part) {
return file.partedFiles.contains(part.file);
diff --git a/pkg/analyzer/test/src/dart/analysis/analyzer_state_printer.dart b/pkg/analyzer/test/src/dart/analysis/analyzer_state_printer.dart
index 7f4b276..9755612 100644
--- a/pkg/analyzer/test/src/dart/analysis/analyzer_state_printer.dart
+++ b/pkg/analyzer/test/src/dart/analysis/analyzer_state_printer.dart
@@ -10,9 +10,11 @@
import 'package:analyzer/src/dart/micro/resolve_file.dart';
import 'package:collection/collection.dart';
import 'package:path/path.dart';
+import 'package:test/test.dart';
class AnalyzerStatePrinter {
final MemoryByteStore byteStore;
+ final FileStateIdProvider fileStateIdProvider;
final KeyShorter keyShorter;
final LibraryContext libraryContext;
final ResourceProvider resourceProvider;
@@ -22,6 +24,7 @@
AnalyzerStatePrinter({
required this.byteStore,
+ required this.fileStateIdProvider,
required this.keyShorter,
required this.libraryContext,
required this.resourceProvider,
@@ -93,35 +96,88 @@
});
}
+ void _writeFile(FileState file) {
+ _withIndent(() {
+ _writelnWithIndent('id: ${fileStateIdProvider[file]}');
+ _writeFileKind(file);
+ _writeFileUnlinkedKey(file);
+ });
+ }
+
+ void _writeFileKind(FileState file) {
+ final kind = file.kind;
+ if (kind is LibraryFileStateKind) {
+ _writelnWithIndent('kind: library');
+ expect(kind.library.file, same(file));
+ } else if (kind is PartOfNameFileStateKind) {
+ _writelnWithIndent('kind: partOfName');
+ _withIndent(() {
+ final library = kind.library;
+ if (library != null) {
+ final id = fileStateIdProvider[library.file];
+ _writelnWithIndent('library: $id');
+ } else {
+ _writelnWithIndent('name: ${kind.directive.name}');
+ }
+ });
+ } else if (kind is PartOfUriKnownFileStateKind) {
+ _writelnWithIndent('kind: partOfUriKnown');
+ _withIndent(() {
+ final library = kind.library;
+ if (library != null) {
+ final id = fileStateIdProvider[library.file];
+ _writelnWithIndent('library: $id');
+ } else {
+ final id = fileStateIdProvider[kind.uriFile];
+ _writelnWithIndent('uriFile: $id');
+ }
+ });
+ } else {
+ throw UnimplementedError('${kind.runtimeType}');
+ }
+ }
+
void _writeFiles(FileSystemTestData testData) {
+ final fileMap = testData.files;
+ final fileDataList = fileMap.values.toList();
+ fileDataList.sortBy((fileData) => fileData.file.path);
+
+ // Ask ID for every file in the sorted order, so that IDs are nice.
+ for (final fileData in fileDataList) {
+ final current = fileSystemState.getExisting(fileData.file);
+ if (current != null) {
+ fileStateIdProvider[current];
+ }
+ }
+
_writelnWithIndent('files');
_withIndent(() {
- final fileMap = testData.files;
- final fileDataList = fileMap.values.toList();
- fileDataList.sortBy((fileData) => fileData.file.path);
-
for (final fileData in fileDataList) {
final file = fileData.file;
_writelnWithIndent(_posixPath(file));
_withIndent(() {
- final current = fileSystemState.getExistingFileForResource(file);
+ final current = fileSystemState.getExisting(file);
if (current != null) {
_writelnWithIndent('current');
- _withIndent(() {
- final unlinkedShort = keyShorter.shortKey(current.unlinkedKey);
- _writelnWithIndent('unlinkedKey: $unlinkedShort');
- });
+ _writeFile(current);
}
final shortGets = keyShorter.shortKeys(fileData.unlinkedKeyGet);
final shortPuts = keyShorter.shortKeys(fileData.unlinkedKeyPut);
_writelnWithIndent('unlinkedGet: $shortGets');
_writelnWithIndent('unlinkedPut: $shortPuts');
+
+ _writelnWithIndent('uri: ${fileData.uri}');
});
}
});
}
+ void _writeFileUnlinkedKey(FileState file) {
+ final unlinkedShort = keyShorter.shortKey(file.unlinkedKey);
+ _writelnWithIndent('unlinkedKey: $unlinkedShort');
+ }
+
void _writeLibraryContext(LibraryContextTestData testData) {
_writelnWithIndent('libraryCycles');
_withIndent(() {
@@ -149,6 +205,11 @@
_withIndent(() {
final short = keyShorter.shortKey(current.resolutionKey!);
_writelnWithIndent('key: $short');
+
+ final fileIdList = current.libraries
+ .map((fileState) => fileStateIdProvider[fileState])
+ .toList();
+ _writelnWithIndent('libraries: ${fileIdList.join(' ')}');
});
}
@@ -180,6 +241,14 @@
}
}
+class FileStateIdProvider {
+ final Map<FileState, String> _map = Map.identity();
+
+ String operator [](FileState file) {
+ return _map[file] ??= 'file_${_map.length}';
+ }
+}
+
/// Keys in the byte store are long hashes, which are hard to read.
/// So, we generate short unique versions for them.
class KeyShorter {
diff --git a/pkg/analyzer/test/src/dart/micro/file_resolution.dart b/pkg/analyzer/test/src/dart/micro/file_resolution.dart
index dd4736b..9e72754 100644
--- a/pkg/analyzer/test/src/dart/micro/file_resolution.dart
+++ b/pkg/analyzer/test/src/dart/micro/file_resolution.dart
@@ -23,6 +23,7 @@
import 'package:test/test.dart';
import '../analysis/analyzer_state_printer.dart' as printer;
+import '../resolution/node_text_expectations.dart';
import '../resolution/resolution.dart';
/// [FileResolver] based implementation of [ResolutionTest].
@@ -38,6 +39,8 @@
late FileResolver fileResolver;
+ final printer.FileStateIdProvider _fileStateIdProvider =
+ printer.FileStateIdProvider();
final printer.KeyShorter _keyShorter = printer.KeyShorter();
FileSystemState get fsState => fileResolver.fsState!;
@@ -68,6 +71,7 @@
final buffer = StringBuffer();
printer.AnalyzerStatePrinter(
byteStore: byteStore,
+ fileStateIdProvider: _fileStateIdProvider,
keyShorter: _keyShorter,
libraryContext: libraryContext,
resourceProvider: resourceProvider,
@@ -77,6 +81,7 @@
if (actual != expected) {
print(actual);
+ NodeTextExpectationsCollector.add(actual);
}
expect(actual, expected);
}
diff --git a/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart b/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart
index 3bf1dce..b284a45 100644
--- a/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart
+++ b/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart
@@ -15,12 +15,14 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
+import '../resolution/node_text_expectations.dart';
import 'file_resolution.dart';
main() {
defineReflectiveSuite(() {
defineReflectiveTests(FileResolver_changeFiles_Test);
defineReflectiveTests(FileResolverTest);
+ defineReflectiveTests(UpdateNodeTextExpectations);
});
}
@@ -43,67 +45,96 @@
// First time we refresh everything.
await resolveFile(c.path);
- const state_1 = r'''
+ assertStateString(r'''
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/test/lib/a.dart
current
+ id: file_5
+ kind: library
unlinkedKey: k05
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.test/a.dart
/workspace/dart/test/lib/b.dart
current
+ id: file_6
+ kind: library
unlinkedKey: k06
unlinkedGet: []
unlinkedPut: [k06]
+ uri: package:dart.test/b.dart
/workspace/dart/test/lib/c.dart
current
+ id: file_7
+ kind: library
unlinkedKey: k07
unlinkedGet: []
unlinkedPut: [k07]
+ uri: package:dart.test/c.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k08
+ libraries: file_0 file_1 file_3 file_4
get: []
put: [k08]
/workspace/dart/test/lib/a.dart
current
key: k09
+ libraries: file_5
get: []
put: [k09]
/workspace/dart/test/lib/b.dart
current
key: k10
+ libraries: file_6
get: []
put: [k10]
/workspace/dart/test/lib/c.dart
current
key: k11
+ libraries: file_7
get: []
put: [k11]
elementFactory
@@ -117,16 +148,221 @@
package:dart.test/c.dart
byteStore
1: [k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11]
-''';
- assertStateString(state_1);
+''');
// Without changes we refresh nothing.
await resolveFile(c.path);
- assertStateString(state_1);
+ assertStateString(r'''
+files
+ /sdk/lib/_internal/internal.dart
+ current
+ id: file_0
+ kind: library
+ unlinkedKey: k00
+ unlinkedGet: []
+ unlinkedPut: [k00]
+ uri: dart:_internal
+ /sdk/lib/async/async.dart
+ current
+ id: file_1
+ kind: library
+ unlinkedKey: k01
+ unlinkedGet: []
+ unlinkedPut: [k01]
+ uri: dart:async
+ /sdk/lib/async/stream.dart
+ current
+ id: file_2
+ kind: partOfName
+ library: file_1
+ unlinkedKey: k02
+ unlinkedGet: []
+ unlinkedPut: [k02]
+ uri: dart:async/stream.dart
+ /sdk/lib/core/core.dart
+ current
+ id: file_3
+ kind: library
+ unlinkedKey: k03
+ unlinkedGet: []
+ unlinkedPut: [k03]
+ uri: dart:core
+ /sdk/lib/math/math.dart
+ current
+ id: file_4
+ kind: library
+ unlinkedKey: k04
+ unlinkedGet: []
+ unlinkedPut: [k04]
+ uri: dart:math
+ /workspace/dart/test/lib/a.dart
+ current
+ id: file_5
+ kind: library
+ unlinkedKey: k05
+ unlinkedGet: []
+ unlinkedPut: [k05]
+ uri: package:dart.test/a.dart
+ /workspace/dart/test/lib/b.dart
+ current
+ id: file_6
+ kind: library
+ unlinkedKey: k06
+ unlinkedGet: []
+ unlinkedPut: [k06]
+ uri: package:dart.test/b.dart
+ /workspace/dart/test/lib/c.dart
+ current
+ id: file_7
+ kind: library
+ unlinkedKey: k07
+ unlinkedGet: []
+ unlinkedPut: [k07]
+ uri: package:dart.test/c.dart
+libraryCycles
+ /sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
+ current
+ key: k08
+ libraries: file_0 file_1 file_3 file_4
+ get: []
+ put: [k08]
+ /workspace/dart/test/lib/a.dart
+ current
+ key: k09
+ libraries: file_5
+ get: []
+ put: [k09]
+ /workspace/dart/test/lib/b.dart
+ current
+ key: k10
+ libraries: file_6
+ get: []
+ put: [k10]
+ /workspace/dart/test/lib/c.dart
+ current
+ key: k11
+ libraries: file_7
+ get: []
+ put: [k11]
+elementFactory
+ hasElement
+ dart:_internal
+ dart:async
+ dart:core
+ dart:math
+ package:dart.test/a.dart
+ package:dart.test/b.dart
+ package:dart.test/c.dart
+byteStore
+ 1: [k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11]
+''');
// We already know a.dart, refresh nothing.
await resolveFile(a.path);
- assertStateString(state_1);
+ assertStateString(r'''
+files
+ /sdk/lib/_internal/internal.dart
+ current
+ id: file_0
+ kind: library
+ unlinkedKey: k00
+ unlinkedGet: []
+ unlinkedPut: [k00]
+ uri: dart:_internal
+ /sdk/lib/async/async.dart
+ current
+ id: file_1
+ kind: library
+ unlinkedKey: k01
+ unlinkedGet: []
+ unlinkedPut: [k01]
+ uri: dart:async
+ /sdk/lib/async/stream.dart
+ current
+ id: file_2
+ kind: partOfName
+ library: file_1
+ unlinkedKey: k02
+ unlinkedGet: []
+ unlinkedPut: [k02]
+ uri: dart:async/stream.dart
+ /sdk/lib/core/core.dart
+ current
+ id: file_3
+ kind: library
+ unlinkedKey: k03
+ unlinkedGet: []
+ unlinkedPut: [k03]
+ uri: dart:core
+ /sdk/lib/math/math.dart
+ current
+ id: file_4
+ kind: library
+ unlinkedKey: k04
+ unlinkedGet: []
+ unlinkedPut: [k04]
+ uri: dart:math
+ /workspace/dart/test/lib/a.dart
+ current
+ id: file_5
+ kind: library
+ unlinkedKey: k05
+ unlinkedGet: []
+ unlinkedPut: [k05]
+ uri: package:dart.test/a.dart
+ /workspace/dart/test/lib/b.dart
+ current
+ id: file_6
+ kind: library
+ unlinkedKey: k06
+ unlinkedGet: []
+ unlinkedPut: [k06]
+ uri: package:dart.test/b.dart
+ /workspace/dart/test/lib/c.dart
+ current
+ id: file_7
+ kind: library
+ unlinkedKey: k07
+ unlinkedGet: []
+ unlinkedPut: [k07]
+ uri: package:dart.test/c.dart
+libraryCycles
+ /sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
+ current
+ key: k08
+ libraries: file_0 file_1 file_3 file_4
+ get: []
+ put: [k08]
+ /workspace/dart/test/lib/a.dart
+ current
+ key: k09
+ libraries: file_5
+ get: []
+ put: [k09]
+ /workspace/dart/test/lib/b.dart
+ current
+ key: k10
+ libraries: file_6
+ get: []
+ put: [k10]
+ /workspace/dart/test/lib/c.dart
+ current
+ key: k11
+ libraries: file_7
+ get: []
+ put: [k11]
+elementFactory
+ hasElement
+ dart:_internal
+ dart:async
+ dart:core
+ dart:math
+ package:dart.test/a.dart
+ package:dart.test/b.dart
+ package:dart.test/c.dart
+byteStore
+ 1: [k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11]
+''');
// Change a.dart, discard data for a.dart and c.dart, but not b.dart
fileResolver.changeFiles([a.path]);
@@ -134,44 +370,66 @@
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/test/lib/a.dart
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.test/a.dart
/workspace/dart/test/lib/b.dart
current
+ id: file_6
+ kind: library
unlinkedKey: k06
unlinkedGet: []
unlinkedPut: [k06]
+ uri: package:dart.test/b.dart
/workspace/dart/test/lib/c.dart
unlinkedGet: []
unlinkedPut: [k07]
+ uri: package:dart.test/c.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k08
+ libraries: file_0 file_1 file_3 file_4
get: []
put: [k08]
/workspace/dart/test/lib/a.dart
@@ -180,6 +438,7 @@
/workspace/dart/test/lib/b.dart
current
key: k10
+ libraries: file_6
get: []
put: [k10]
/workspace/dart/test/lib/c.dart
@@ -202,63 +461,92 @@
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/test/lib/a.dart
current
+ id: file_8
+ kind: library
unlinkedKey: k05
unlinkedGet: []
unlinkedPut: [k05, k05]
+ uri: package:dart.test/a.dart
/workspace/dart/test/lib/b.dart
current
+ id: file_6
+ kind: library
unlinkedKey: k06
unlinkedGet: []
unlinkedPut: [k06]
+ uri: package:dart.test/b.dart
/workspace/dart/test/lib/c.dart
current
+ id: file_9
+ kind: library
unlinkedKey: k07
unlinkedGet: []
unlinkedPut: [k07, k07]
+ uri: package:dart.test/c.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k08
+ libraries: file_0 file_1 file_3 file_4
get: []
put: [k08]
/workspace/dart/test/lib/a.dart
current
key: k09
+ libraries: file_8
get: []
put: [k09, k09]
/workspace/dart/test/lib/b.dart
current
key: k10
+ libraries: file_6
get: []
put: [k10]
/workspace/dart/test/lib/c.dart
current
key: k11
+ libraries: file_9
get: []
put: [k11, k11]
elementFactory
@@ -395,48 +683,73 @@
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/test/lib/a.dart
current
+ id: file_5
+ kind: library
unlinkedKey: k05
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.test/a.dart
/workspace/dart/test/lib/b.dart
current
+ id: file_6
+ kind: partOfUriKnown
+ library: file_5
unlinkedKey: k06
unlinkedGet: []
unlinkedPut: [k06]
+ uri: package:dart.test/b.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k07
+ libraries: file_0 file_1 file_3 file_4
get: []
put: [k07]
/workspace/dart/test/lib/a.dart
current
key: k08
+ libraries: file_5
get: []
put: [k08]
elementFactory
@@ -456,39 +769,58 @@
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/test/lib/a.dart
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.test/a.dart
/workspace/dart/test/lib/b.dart
unlinkedGet: []
unlinkedPut: [k06]
+ uri: package:dart.test/b.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k07
+ libraries: file_0 file_1 file_3 file_4
get: []
put: [k07]
/workspace/dart/test/lib/a.dart
@@ -510,48 +842,73 @@
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/test/lib/a.dart
current
+ id: file_7
+ kind: library
unlinkedKey: k05
unlinkedGet: []
unlinkedPut: [k05, k05]
+ uri: package:dart.test/a.dart
/workspace/dart/test/lib/b.dart
current
+ id: file_8
+ kind: partOfUriKnown
+ library: file_7
unlinkedKey: k06
unlinkedGet: []
unlinkedPut: [k06, k06]
+ uri: package:dart.test/b.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k07
+ libraries: file_0 file_1 file_3 file_4
get: []
put: [k07]
/workspace/dart/test/lib/a.dart
current
key: k08
+ libraries: file_7
get: []
put: [k08, k08]
elementFactory
@@ -588,58 +945,87 @@
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/test/lib/a.dart
current
+ id: file_5
+ kind: library
unlinkedKey: k05
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.test/a.dart
/workspace/dart/test/lib/b.dart
current
+ id: file_6
+ kind: partOfUriKnown
+ library: file_5
unlinkedKey: k06
unlinkedGet: []
unlinkedPut: [k06]
+ uri: package:dart.test/b.dart
/workspace/dart/test/lib/c.dart
current
+ id: file_7
+ kind: library
unlinkedKey: k07
unlinkedGet: []
unlinkedPut: [k07]
+ uri: package:dart.test/c.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k08
+ libraries: file_0 file_1 file_3 file_4
get: []
put: [k08]
/workspace/dart/test/lib/a.dart
current
key: k09
+ libraries: file_5
get: []
put: [k09]
/workspace/dart/test/lib/c.dart
current
key: k10
+ libraries: file_7
get: []
put: [k10]
elementFactory
@@ -660,42 +1046,62 @@
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/test/lib/a.dart
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.test/a.dart
/workspace/dart/test/lib/b.dart
unlinkedGet: []
unlinkedPut: [k06]
+ uri: package:dart.test/b.dart
/workspace/dart/test/lib/c.dart
unlinkedGet: []
unlinkedPut: [k07]
+ uri: package:dart.test/c.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k08
+ libraries: file_0 file_1 file_3 file_4
get: []
put: [k08]
/workspace/dart/test/lib/a.dart
@@ -720,58 +1126,87 @@
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/test/lib/a.dart
current
+ id: file_8
+ kind: library
unlinkedKey: k05
unlinkedGet: []
unlinkedPut: [k05, k05]
+ uri: package:dart.test/a.dart
/workspace/dart/test/lib/b.dart
current
+ id: file_9
+ kind: partOfUriKnown
+ library: file_8
unlinkedKey: k06
unlinkedGet: []
unlinkedPut: [k06, k06]
+ uri: package:dart.test/b.dart
/workspace/dart/test/lib/c.dart
current
+ id: file_10
+ kind: library
unlinkedKey: k07
unlinkedGet: []
unlinkedPut: [k07, k07]
+ uri: package:dart.test/c.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k08
+ libraries: file_0 file_1 file_3 file_4
get: []
put: [k08]
/workspace/dart/test/lib/a.dart
current
key: k09
+ libraries: file_8
get: []
put: [k09, k09]
/workspace/dart/test/lib/c.dart
current
key: k10
+ libraries: file_10
get: []
put: [k10, k10]
elementFactory
@@ -909,43 +1344,64 @@
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/test/lib/a.dart
current
+ id: file_5
+ kind: library
unlinkedKey: k05
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.test/a.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k06
+ libraries: file_0 file_1 file_3 file_4
get: []
put: [k06]
/workspace/dart/test/lib/a.dart
current
key: k07
+ libraries: file_5
get: []
put: [k07]
elementFactory
@@ -968,21 +1424,27 @@
/sdk/lib/_internal/internal.dart
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/test/lib/a.dart
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.test/a.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
get: []
@@ -1493,43 +1955,64 @@
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/test/lib/a.dart
current
+ id: file_5
+ kind: library
unlinkedKey: k05
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.test/a.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k06
+ libraries: file_0 file_1 file_3 file_4
get: [k06]
put: [k06]
/workspace/dart/test/lib/a.dart
current
key: k07
+ libraries: file_5
get: [k07]
put: [k07]
elementFactory
@@ -1553,43 +2036,64 @@
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/test/lib/a.dart
current
+ id: file_5
+ kind: library
unlinkedKey: k05
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.test/a.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k06
+ libraries: file_0 file_1 file_3 file_4
get: [k06]
put: [k06]
/workspace/dart/test/lib/a.dart
current
key: k07
+ libraries: file_5
get: [k07]
put: [k07]
elementFactory
@@ -1612,57 +2116,82 @@
// We discarded all libraries, so each one has `get` and `put`.
// We did not discard files, so only `unlinkedPut`.
// The reference count for each data is exactly `1`.
- assertStateString('''
+ assertStateString(r'''
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/test/lib/a.dart
current
+ id: file_5
+ kind: library
unlinkedKey: k05
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.test/a.dart
/workspace/dart/test/lib/b.dart
current
+ id: file_6
+ kind: library
unlinkedKey: k08
unlinkedGet: []
unlinkedPut: [k08]
+ uri: package:dart.test/b.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k06
+ libraries: file_0 file_1 file_3 file_4
get: [k06, k06]
put: [k06]
/workspace/dart/test/lib/a.dart
current
key: k07
+ libraries: file_5
get: [k07, k07]
put: [k07]
/workspace/dart/test/lib/b.dart
current
key: k09
+ libraries: file_6
get: [k09]
put: [k09]
elementFactory
@@ -1692,57 +2221,82 @@
// All types are stored in the bundle for b.dart itself, we don't need to
// read a.dart to access them, so we keep it as a reader.
- assertStateString('''
+ assertStateString(r'''
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/test/lib/a.dart
current
+ id: file_5
+ kind: library
unlinkedKey: k05
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.test/a.dart
/workspace/dart/test/lib/b.dart
current
+ id: file_6
+ kind: library
unlinkedKey: k08
unlinkedGet: []
unlinkedPut: [k08]
+ uri: package:dart.test/b.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k06
+ libraries: file_0 file_1 file_3 file_4
get: [k06, k06]
put: [k06]
/workspace/dart/test/lib/a.dart
current
key: k07
+ libraries: file_5
get: [k07, k07]
put: [k07]
/workspace/dart/test/lib/b.dart
current
key: k09
+ libraries: file_6
get: [k09]
put: [k09]
elementFactory
@@ -1779,43 +2333,64 @@
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/test/lib/test.dart
current
+ id: file_5
+ kind: library
unlinkedKey: k05
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.test/test.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k06
+ libraries: file_0 file_1 file_3 file_4
get: [k06]
put: [k06]
/workspace/dart/test/lib/test.dart
current
key: k07
+ libraries: file_5
get: [k07]
put: [k07]
elementFactory
@@ -1845,43 +2420,64 @@
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/test/lib/test.dart
current
+ id: file_5
+ kind: library
unlinkedKey: k05
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.test/test.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k06
+ libraries: file_0 file_1 file_3 file_4
get: [k06]
put: [k06]
/workspace/dart/test/lib/test.dart
current
key: k07
+ libraries: file_5
get: [k07]
put: [k07]
elementFactory
@@ -2016,63 +2612,92 @@
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/aaa/lib/a.dart
current
+ id: file_5
+ kind: library
unlinkedKey: k05
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.aaa/a.dart
/workspace/dart/aaa/lib/b.dart
current
+ id: file_6
+ kind: library
unlinkedKey: k06
unlinkedGet: []
unlinkedPut: [k06]
+ uri: package:dart.aaa/b.dart
/workspace/dart/aaa/lib/c.dart
current
+ id: file_7
+ kind: library
unlinkedKey: k07
unlinkedGet: []
unlinkedPut: [k07]
+ uri: package:dart.aaa/c.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k08
+ libraries: file_0 file_1 file_3 file_4
get: []
put: [k08]
/workspace/dart/aaa/lib/a.dart
current
key: k09
+ libraries: file_5
get: []
put: [k09]
/workspace/dart/aaa/lib/b.dart
current
key: k10
+ libraries: file_6
get: []
put: [k10]
/workspace/dart/aaa/lib/c.dart
current
key: k11
+ libraries: file_7
get: []
put: [k11]
elementFactory
@@ -2095,51 +2720,76 @@
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/aaa/lib/a.dart
current
+ id: file_5
+ kind: library
unlinkedKey: k05
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.aaa/a.dart
/workspace/dart/aaa/lib/b.dart
unlinkedGet: []
unlinkedPut: [k06]
+ uri: package:dart.aaa/b.dart
/workspace/dart/aaa/lib/c.dart
current
+ id: file_7
+ kind: library
unlinkedKey: k07
unlinkedGet: []
unlinkedPut: [k07]
+ uri: package:dart.aaa/c.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k08
+ libraries: file_0 file_1 file_3 file_4
get: []
put: [k08]
/workspace/dart/aaa/lib/a.dart
current
key: k09
+ libraries: file_5
get: []
put: [k09]
/workspace/dart/aaa/lib/b.dart
@@ -2148,6 +2798,7 @@
/workspace/dart/aaa/lib/c.dart
current
key: k11
+ libraries: file_7
get: []
put: [k11]
elementFactory
@@ -2196,93 +2847,134 @@
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/aaa/lib/a.dart
current
+ id: file_5
+ kind: library
unlinkedKey: k05
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.aaa/a.dart
/workspace/dart/aaa/lib/b.dart
current
+ id: file_6
+ kind: library
unlinkedKey: k06
unlinkedGet: []
unlinkedPut: [k06]
+ uri: package:dart.aaa/b.dart
/workspace/dart/aaa/lib/c.dart
current
+ id: file_7
+ kind: library
unlinkedKey: k07
unlinkedGet: []
unlinkedPut: [k07]
+ uri: package:dart.aaa/c.dart
/workspace/dart/aaa/lib/d.dart
current
+ id: file_8
+ kind: library
unlinkedKey: k08
unlinkedGet: []
unlinkedPut: [k08]
+ uri: package:dart.aaa/d.dart
/workspace/dart/aaa/lib/e.dart
current
+ id: file_9
+ kind: library
unlinkedKey: k09
unlinkedGet: []
unlinkedPut: [k09]
+ uri: package:dart.aaa/e.dart
/workspace/dart/aaa/lib/f.dart
current
+ id: file_10
+ kind: library
unlinkedKey: k10
unlinkedGet: []
unlinkedPut: [k10]
+ uri: package:dart.aaa/f.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k11
+ libraries: file_0 file_1 file_3 file_4
get: []
put: [k11]
/workspace/dart/aaa/lib/a.dart
current
key: k12
+ libraries: file_5
get: []
put: [k12]
/workspace/dart/aaa/lib/b.dart
current
key: k13
+ libraries: file_6
get: []
put: [k13]
/workspace/dart/aaa/lib/c.dart
current
key: k14
+ libraries: file_7
get: []
put: [k14]
/workspace/dart/aaa/lib/d.dart
current
key: k15
+ libraries: file_8
get: []
put: [k15]
/workspace/dart/aaa/lib/e.dart
current
key: k16
+ libraries: file_9
get: []
put: [k16]
/workspace/dart/aaa/lib/f.dart
current
key: k17
+ libraries: file_10
get: []
put: [k17]
elementFactory
@@ -2307,64 +2999,96 @@
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/aaa/lib/a.dart
current
+ id: file_5
+ kind: library
unlinkedKey: k05
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.aaa/a.dart
/workspace/dart/aaa/lib/b.dart
unlinkedGet: []
unlinkedPut: [k06]
+ uri: package:dart.aaa/b.dart
/workspace/dart/aaa/lib/c.dart
current
+ id: file_7
+ kind: library
unlinkedKey: k07
unlinkedGet: []
unlinkedPut: [k07]
+ uri: package:dart.aaa/c.dart
/workspace/dart/aaa/lib/d.dart
current
+ id: file_8
+ kind: library
unlinkedKey: k08
unlinkedGet: []
unlinkedPut: [k08]
+ uri: package:dart.aaa/d.dart
/workspace/dart/aaa/lib/e.dart
unlinkedGet: []
unlinkedPut: [k09]
+ uri: package:dart.aaa/e.dart
/workspace/dart/aaa/lib/f.dart
current
+ id: file_10
+ kind: library
unlinkedKey: k10
unlinkedGet: []
unlinkedPut: [k10]
+ uri: package:dart.aaa/f.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k11
+ libraries: file_0 file_1 file_3 file_4
get: []
put: [k11]
/workspace/dart/aaa/lib/a.dart
current
key: k12
+ libraries: file_5
get: []
put: [k12]
/workspace/dart/aaa/lib/b.dart
@@ -2373,11 +3097,13 @@
/workspace/dart/aaa/lib/c.dart
current
key: k14
+ libraries: file_7
get: []
put: [k14]
/workspace/dart/aaa/lib/d.dart
current
key: k15
+ libraries: file_8
get: []
put: [k15]
/workspace/dart/aaa/lib/e.dart
@@ -2386,6 +3112,7 @@
/workspace/dart/aaa/lib/f.dart
current
key: k17
+ libraries: file_10
get: []
put: [k17]
elementFactory
@@ -2418,43 +3145,64 @@
files
/sdk/lib/_internal/internal.dart
current
+ id: file_0
+ kind: library
unlinkedKey: k00
unlinkedGet: []
unlinkedPut: [k00]
+ uri: dart:_internal
/sdk/lib/async/async.dart
current
+ id: file_1
+ kind: library
unlinkedKey: k01
unlinkedGet: []
unlinkedPut: [k01]
+ uri: dart:async
/sdk/lib/async/stream.dart
current
+ id: file_2
+ kind: partOfName
+ library: file_1
unlinkedKey: k02
unlinkedGet: []
unlinkedPut: [k02]
+ uri: dart:async/stream.dart
/sdk/lib/core/core.dart
current
+ id: file_3
+ kind: library
unlinkedKey: k03
unlinkedGet: []
unlinkedPut: [k03]
+ uri: dart:core
/sdk/lib/math/math.dart
current
+ id: file_4
+ kind: library
unlinkedKey: k04
unlinkedGet: []
unlinkedPut: [k04]
+ uri: dart:math
/workspace/dart/aaa/lib/a.dart
current
+ id: file_5
+ kind: library
unlinkedKey: k05
unlinkedGet: []
unlinkedPut: [k05]
+ uri: package:dart.aaa/a.dart
libraryCycles
/sdk/lib/_internal/internal.dart /sdk/lib/async/async.dart /sdk/lib/core/core.dart /sdk/lib/math/math.dart
current
key: k06
+ libraries: file_0 file_1 file_3 file_4
get: []
put: [k06]
/workspace/dart/aaa/lib/a.dart
current
key: k07
+ libraries: file_5
get: []
put: [k07]
elementFactory
@@ -2510,9 +3258,9 @@
// TODO(scheglov) Use textual dump
final fsState = fileResolver.fsState!;
- final testState = fsState.getExistingFileForResource(testFile)!;
+ final testState = fsState.getExisting(testFile)!;
final testKind = testState.kind as PartFileStateKind;
- expect(testKind.library?.file, fsState.getExistingFileForResource(a));
+ expect(testKind.library?.file, fsState.getExisting(a));
}
test_resolve_part_of_uri() async {
@@ -2535,9 +3283,9 @@
// TODO(scheglov) Use textual dump
final fsState = fileResolver.fsState!;
- final testState = fsState.getExistingFileForResource(testFile)!;
+ final testState = fsState.getExisting(testFile)!;
final testKind = testState.kind as PartFileStateKind;
- expect(testKind.library?.file, fsState.getExistingFileForResource(a));
+ expect(testKind.library?.file, fsState.getExisting(a));
}
test_resolveFile_cache() async {
diff --git a/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart b/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart
index a8d81f3..3c8bd3b 100644
--- a/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart
+++ b/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart
@@ -138,6 +138,7 @@
/// Optional summaries to provide for the collection.
List<File>? librarySummaryFiles;
+ final FileStateIdProvider _fileStateIdProvider = FileStateIdProvider();
final KeyShorter _keyShorter = KeyShorter();
List<MockSdkLibrary> get additionalMockSdkLibraries => [];
@@ -172,6 +173,7 @@
final buffer = StringBuffer();
AnalyzerStatePrinter(
byteStore: _byteStore,
+ fileStateIdProvider: _fileStateIdProvider,
keyShorter: _keyShorter,
libraryContext: analysisDriver.libraryContext,
resourceProvider: resourceProvider,
diff --git a/pkg/analyzer/test/src/dart/resolution/node_text_expectations.dart b/pkg/analyzer/test/src/dart/resolution/node_text_expectations.dart
index b5a17b92..d528bce 100644
--- a/pkg/analyzer/test/src/dart/resolution/node_text_expectations.dart
+++ b/pkg/analyzer/test/src/dart/resolution/node_text_expectations.dart
@@ -12,6 +12,7 @@
static const updatingIsEnabled = false;
static const assertMethods = {
+ 'FileResolutionTest.assertStateString',
'ResolutionTest.assertResolvedNodeText',
};
diff --git a/tools/VERSION b/tools/VERSION
index ba74c8a..45f4e4d 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 18
PATCH 0
-PRERELEASE 221
+PRERELEASE 222
PRERELEASE_PATCH 0
\ No newline at end of file