analyzer: Deprecate AnalysisTarget
Change-Id: Iaca9ffb8f25ada45efabd13622fa4990ca23af3f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/417908
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/api.txt b/pkg/analyzer/api.txt
index 25aa494..9e5d55cc 100644
--- a/pkg/analyzer/api.txt
+++ b/pkg/analyzer/api.txt
@@ -5292,7 +5292,7 @@
package:analyzer/src/lint/linter.dart:
LintRule (non-public)
package:analyzer/src/task/api/model.dart:
- AnalysisTarget (class extends Object):
+ AnalysisTarget (class extends Object, deprecated):
new (constructor: AnalysisTarget Function())
librarySource (getter: Source?)
source (getter: Source?)
diff --git a/pkg/analyzer/lib/dart/element/element.dart b/pkg/analyzer/lib/dart/element/element.dart
index 56e2ebd..6734122 100644
--- a/pkg/analyzer/lib/dart/element/element.dart
+++ b/pkg/analyzer/lib/dart/element/element.dart
@@ -55,6 +55,7 @@
import 'package:analyzer/src/dart/resolver/scope.dart' show Namespace;
import 'package:analyzer/src/generated/engine.dart' show AnalysisContext;
import 'package:analyzer/src/generated/utilities_dart.dart';
+// ignore: deprecated_member_use_from_same_package
import 'package:analyzer/src/task/api/model.dart' show AnalysisTarget;
import 'package:meta/meta.dart';
import 'package:pub_semver/pub_semver.dart';
@@ -390,6 +391,7 @@
/// represent the semantic structure of the program.
///
/// Clients may not extend, implement or mix-in this class.
+// ignore: deprecated_member_use_from_same_package
abstract class Element implements AnalysisTarget {
/// A list of this element's children.
///
diff --git a/pkg/analyzer/lib/src/dart/constant/evaluation.dart b/pkg/analyzer/lib/src/dart/constant/evaluation.dart
index 5ebba9b..e442855 100644
--- a/pkg/analyzer/lib/src/dart/constant/evaluation.dart
+++ b/pkg/analyzer/lib/src/dart/constant/evaluation.dart
@@ -519,11 +519,13 @@
}
}
+// ignore: deprecated_member_use_from_same_package
/// Interface for [AnalysisTarget]s for which constant evaluation can be
/// performed.
@AnalyzerPublicApi(
message: 'exposed because it is implemented by various elements')
// TODO(scheglov): consider implementing only in Impl or removing
+// ignore: deprecated_member_use_from_same_package
abstract class ConstantEvaluationTarget extends AnalysisTarget {
/// Return the [AnalysisContext] which should be used to evaluate this
/// constant.
diff --git a/pkg/analyzer/lib/src/task/api/model.dart b/pkg/analyzer/lib/src/task/api/model.dart
index 1566b0d2..f565d29 100644
--- a/pkg/analyzer/lib/src/task/api/model.dart
+++ b/pkg/analyzer/lib/src/task/api/model.dart
@@ -11,6 +11,7 @@
/// Instances of this type are used in hashed data structures, so subtypes are
/// required to correctly implement [==] and [hashCode].
@AnalyzerPublicApi(message: 'exposed by Element (superclass)')
+@Deprecated('To be removed without replacement')
abstract class AnalysisTarget {
/// If this target is associated with a library, return the source of the
/// library's defining compilation unit; otherwise return `null`.