diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md index 665f334f58c..f340160fd1c 100644 --- a/pkg/analyzer/CHANGELOG.md +++ b/pkg/analyzer/CHANGELOG.md @@ -1,5 +1,6 @@ ## 2.1.0 * Changed `AnalysisResult.path` to be non-nullable. +* Changed `ParsedLibraryResult.units` to be non-nullable. ## 2.0.0 * Removed deprecated `Scope.lookup2()`. diff --git a/pkg/analyzer/lib/dart/analysis/results.dart b/pkg/analyzer/lib/dart/analysis/results.dart index c9230c2bb2a..55d4747a17a 100644 --- a/pkg/analyzer/lib/dart/analysis/results.dart +++ b/pkg/analyzer/lib/dart/analysis/results.dart @@ -162,9 +162,7 @@ class NotPathOfUriResult abstract class ParsedLibraryResult implements SomeParsedLibraryResult, AnalysisResult { /// The parsed units of the library. - /// - /// TODO(migration): should not be null, probably empty list - List? get units; + List get units; /// Return the declaration of the [element], or `null` if the [element] /// is synthetic. Throw [ArgumentError] if the [element] is not defined in diff --git a/pkg/analyzer/lib/src/dart/analysis/results.dart b/pkg/analyzer/lib/src/dart/analysis/results.dart index 41abe8fc60c..2a89c830829 100644 --- a/pkg/analyzer/lib/src/dart/analysis/results.dart +++ b/pkg/analyzer/lib/src/dart/analysis/results.dart @@ -76,7 +76,7 @@ class LibraryElementResultImpl implements LibraryElementResult { class ParsedLibraryResultImpl extends AnalysisResultImpl implements ParsedLibraryResult { @override - final List? units; + final List units; ParsedLibraryResultImpl( AnalysisSession session, String path, Uri uri, this.units) @@ -101,7 +101,7 @@ class ParsedLibraryResultImpl extends AnalysisResultImpl } var elementPath = element.source!.fullName; - var unitResult = units!.firstWhere( + var unitResult = units.firstWhere( (r) => r.path == elementPath, orElse: () { var elementStr = element.getDisplayString(withNullability: true); diff --git a/pkg/analyzer/test/src/dart/analysis/driver_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_test.dart index eef1ad33b5e..ef1d0ac2551 100644 --- a/pkg/analyzer/test/src/dart/analysis/driver_test.dart +++ b/pkg/analyzer/test/src/dart/analysis/driver_test.dart @@ -1403,10 +1403,10 @@ class B {} var result = driver.getParsedLibrary2(testFile); result as ParsedLibraryResult; expect(result.units, hasLength(1)); - expect(result.units![0].path, testFile); - expect(result.units![0].content, content); - expect(result.units![0].unit, isNotNull); - expect(result.units![0].errors, isEmpty); + expect(result.units[0].path, testFile); + expect(result.units[0].content, content); + expect(result.units[0].unit, isNotNull); + expect(result.units[0].errors, isEmpty); } test_getParsedLibrary2_invalidPath_notAbsolute() async { @@ -1429,9 +1429,9 @@ class B {} result as ParsedLibraryResult; expect(result.uri, uri); expect(result.units, hasLength(1)); - expect(result.units![0].uri, uri); - expect(result.units![0].path, testFile); - expect(result.units![0].content, content); + expect(result.units[0].uri, uri); + expect(result.units[0].path, testFile); + expect(result.units[0].content, content); } test_getParsedLibraryByUri2_notLibrary() async { diff --git a/pkg/analyzer/test/src/dart/analysis/session_test.dart b/pkg/analyzer/test/src/dart/analysis/session_test.dart index 1d2f2b03d0a..6dbf5857716 100644 --- a/pkg/analyzer/test/src/dart/analysis/session_test.dart +++ b/pkg/analyzer/test/src/dart/analysis/session_test.dart @@ -233,7 +233,7 @@ class B {} expect(parsedLibrary.units, hasLength(1)); { - var parsedUnit = parsedLibrary.units![0]; + var parsedUnit = parsedLibrary.units[0]; expect(parsedUnit.session, session); expect(parsedUnit.path, testPath); expect(parsedUnit.uri, Uri.parse('package:test/test.dart')); @@ -288,21 +288,21 @@ class C3 {} expect(parsedLibrary.units, hasLength(3)); { - var aUnit = parsedLibrary.units![0]; + var aUnit = parsedLibrary.units[0]; expect(aUnit.path, a); expect(aUnit.uri, Uri.parse('package:test/a.dart')); expect(aUnit.unit.declarations, hasLength(1)); } { - var bUnit = parsedLibrary.units![1]; + var bUnit = parsedLibrary.units[1]; expect(bUnit.path, b); expect(bUnit.uri, Uri.parse('package:test/b.dart')); expect(bUnit.unit.declarations, hasLength(2)); } { - var cUnit = parsedLibrary.units![2]; + var cUnit = parsedLibrary.units[2]; expect(cUnit.path, c); expect(cUnit.uri, Uri.parse('package:test/c.dart')); expect(cUnit.unit.declarations, hasLength(3)); @@ -378,15 +378,15 @@ part 'c.dart'; expect(parsedLibrary.units, hasLength(3)); expect( - parsedLibrary.units![0].path, + parsedLibrary.units[0].path, convertPath('/home/test/lib/test.dart'), ); expect( - parsedLibrary.units![1].path, + parsedLibrary.units[1].path, convertPath('/home/test/lib/a.dart'), ); expect( - parsedLibrary.units![2].path, + parsedLibrary.units[2].path, convertPath('/home/test/lib/c.dart'), ); }