Deprecate AnalysisResult.path/uri

Change-Id: I0908a49fd8983dbcbdf585c026190ab0fefb45c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/218061
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
This commit is contained in:
Konstantin Shcheglov
2021-10-25 22:04:39 +00:00
committed by commit-bot@chromium.org
parent a156ee2f31
commit 873005502d
6 changed files with 34 additions and 13 deletions
+1
View File
@@ -1,6 +1,7 @@
## 2.8.0-dev
* Deprecations and renames for `getXyz` methods in `AnalysisDriver`.
* Removed uppercase named constants from `double` in mock SDK.
* Deprecated `path` and `uri` from `AnalysisResult`.
## 2.7.0
* Updated `ConstructorElement.displayName` to either `Class` or `Class.constructor`.
@@ -16,6 +16,7 @@ import 'package:analyzer/src/generated/source.dart';
/// Clients may not extend, implement or mix-in this class.
abstract class AnalysisResult {
/// The absolute and normalized path of the file that was analyzed.
@Deprecated('Use FileResult.path instead')
String get path;
/// Return the session used to compute this result.
@@ -26,6 +27,7 @@ abstract class AnalysisResult {
ResultState get state;
/// The absolute URI of the file that was analyzed.
@Deprecated('Use FileResult.uri instead')
Uri get uri;
}
@@ -83,6 +85,14 @@ abstract class FileResult implements SomeFileResult, AnalysisResult {
/// Information about lines in the content.
LineInfo get lineInfo;
/// The absolute and normalized path of the file that was analyzed.
@override
String get path;
/// The absolute URI of the file that was analyzed.
@override
Uri get uri;
}
/// The type of [InvalidResult] returned when the given file path is invalid,
@@ -16,9 +16,11 @@ abstract class AnalysisResultImpl implements AnalysisResult {
@override
final AnalysisSession session;
@Deprecated('Use FileResult.path instead')
@override
final String path;
@Deprecated('Use FileResult.uri instead')
@override
final Uri uri;
@@ -62,9 +64,19 @@ class FileResultImpl extends AnalysisResultImpl implements FileResult {
AnalysisSession session, String path, Uri uri, this.lineInfo, this.isPart)
: super(session, path, uri);
@override
// TODO(scheglov) Convert into a field.
// ignore: deprecated_member_use_from_same_package, unnecessary_overrides
String get path => super.path;
@Deprecated('Check for specific Result subtypes instead')
@override
ResultState get state => ResultState.VALID;
@override
// TODO(scheglov) Convert into a field.
// ignore: deprecated_member_use_from_same_package, unnecessary_overrides
Uri get uri => super.uri;
}
class LibraryElementResultImpl implements LibraryElementResult {
@@ -1570,7 +1570,6 @@ class B {}
var uri = Uri.parse('package:test/test.dart');
var result = driver.getParsedLibraryByUri(uri);
result as ParsedLibraryResult;
expect(result.uri, uri);
expect(result.units, hasLength(1));
expect(result.units[0].uri, uri);
expect(result.units[0].path, testFile);
@@ -1621,7 +1620,6 @@ class B {}
var uri = Uri.parse('package:test/test.dart');
var result = await driver.getResolvedLibraryByUri(uri);
result as ResolvedLibraryResult;
expect(result.uri, uri);
expect(result.element.source.fullName, testFile);
expect(result.units, hasLength(1));
expect(result.units[0].uri, uri);
@@ -228,8 +228,6 @@ class B {}
var parsedLibrary = session.getParsedLibraryValid(testPath);
expect(parsedLibrary.session, session);
expect(parsedLibrary.path, testPath);
expect(parsedLibrary.uri, Uri.parse('package:test/test.dart'));
expect(parsedLibrary.units, hasLength(1));
{
@@ -365,8 +363,6 @@ class C3 {}
newFile(c, content: cContent);
var parsedLibrary = session.getParsedLibraryValid(a);
expect(parsedLibrary.path, a);
expect(parsedLibrary.uri, Uri.parse('package:test/a.dart'));
expect(parsedLibrary.units, hasLength(3));
{
@@ -401,9 +397,14 @@ class C3 {}
var parsedLibrary = session.getParsedLibraryByElementValid(element);
expect(parsedLibrary.session, session);
expect(parsedLibrary.path, testPath);
expect(parsedLibrary.uri, Uri.parse('package:test/test.dart'));
expect(parsedLibrary.units, hasLength(1));
{
var unit = parsedLibrary.units[0];
expect(unit.path, testPath);
expect(unit.uri, Uri.parse('package:test/test.dart'));
expect(unit.unit, isNotNull);
}
}
test_getParsedLibraryByElement_differentSession() async {
@@ -460,8 +461,6 @@ class B2 extends X {}
var resolvedLibrary = await session.getResolvedLibraryValid(a);
expect(resolvedLibrary.session, session);
expect(resolvedLibrary.path, a);
expect(resolvedLibrary.uri, Uri.parse('package:test/a.dart'));
var typeProvider = resolvedLibrary.typeProvider;
expect(typeProvider.intType.element.name, 'int');
@@ -586,9 +585,9 @@ part 'c.dart';
var result = await session.getResolvedLibraryByElementValid(element);
expect(result.session, session);
expect(result.path, testPath);
expect(result.uri, Uri.parse('package:test/test.dart'));
expect(result.units, hasLength(1));
expect(result.units[0].path, testPath);
expect(result.units[0].uri, Uri.parse('package:test/test.dart'));
expect(result.units[0].unit.declaredElement, isNotNull);
}
@@ -1166,8 +1166,9 @@ void func() {
''');
var result = fileResolver.resolveLibrary(path: aPath);
expect(result.path, aPath);
expect(result.units.length, 2);
expect(result.units[0].path, aPath);
expect(result.units[0].uri, Uri.parse('package:dart.test/a.dart'));
}
test_reuse_compatibleOptions() async {