Merge pull request #1730 from dart-lang/update_spelunker
make spelunking featureSet aware
diff --git a/lib/src/ast.dart b/lib/src/ast.dart
index 98ea0b0..c0f4c81 100644
--- a/lib/src/ast.dart
+++ b/lib/src/ast.dart
@@ -10,7 +10,6 @@
import 'package:analyzer/error/error.dart';
import 'package:analyzer/error/listener.dart';
import 'package:analyzer/file_system/file_system.dart';
-import 'package:analyzer/file_system/physical_file_system.dart';
import 'package:analyzer/src/error/codes.dart'; // ignore: implementation_imports
import 'package:analyzer/src/generated/resolver.dart'; // ignore: implementation_imports
import 'package:linter/src/analyzer.dart';
@@ -102,9 +101,12 @@
return false;
}
- // TODO(devoncarew): Change to using the resource provider on the context
- // when that is available.
- ResourceProvider resourceProvider = PhysicalResourceProvider.INSTANCE;
+ final resourceProvider =
+ compilationUnit?.declaredElement?.session?.resourceProvider;
+ if (resourceProvider == null) {
+ return false;
+ }
+
File file = resourceProvider.getFile(fullName);
Folder folder = file.parent;
diff --git a/lib/src/rules/unnecessary_statements.dart b/lib/src/rules/unnecessary_statements.dart
index c4f3510..deeb6b5 100644
--- a/lib/src/rules/unnecessary_statements.dart
+++ b/lib/src/rules/unnecessary_statements.dart
@@ -134,8 +134,8 @@
visitPrefixedIdentifier(PrefixedIdentifier node) {
// Allow getters; getters with side effects were the main cause of false
// positives.
- var bestElement = node.identifier.staticElement;
- if (bestElement is PropertyAccessorElement && !bestElement.isSynthetic) {
+ var element = node.identifier.staticElement;
+ if (element is PropertyAccessorElement && !element.isSynthetic) {
return;
}
@@ -155,8 +155,8 @@
visitPropertyAccess(PropertyAccess node) {
// Allow getters; getters with side effects were the main cause of false
// positives.
- var bestElement = node.propertyName.staticElement;
- if (bestElement is PropertyAccessorElement && !bestElement.isSynthetic) {
+ var element = node.propertyName.staticElement;
+ if (element is PropertyAccessorElement && !element.isSynthetic) {
return;
}
@@ -172,9 +172,8 @@
visitSimpleIdentifier(SimpleIdentifier node) {
// Allow getters; getters with side effects were the main cause of false
// positives.
- var bestElement = node.staticElement;
- if (node.staticElement is PropertyAccessorElement &&
- !bestElement.isSynthetic) {
+ var element = node.staticElement;
+ if (element is PropertyAccessorElement && !element.isSynthetic) {
return;
}
diff --git a/tool/since/dart_sdk.yaml b/tool/since/dart_sdk.yaml
index d3d1084..55e9464 100644
--- a/tool/since/dart_sdk.yaml
+++ b/tool/since/dart_sdk.yaml
@@ -1,3 +1,6 @@
+2.6.0-dev.1.0 : 0.1.97+1
+2.6.0-dev.0.0 : 0.1.97+1
+2.5.0 : 0.1.96
2.5.0-dev.4.0 : 0.1.96
2.5.0-dev.3.0 : 0.1.96
2.5.0-dev.2.1 : 0.1.96