Deprecate InterfaceType.methods2, use methods instead.
Change-Id: I961a940b85b8d3afea1cf321c9477ca74996a371
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/436081
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md
index 530d366..fc9dffc 100644
--- a/pkg/analyzer/CHANGELOG.md
+++ b/pkg/analyzer/CHANGELOG.md
@@ -109,6 +109,7 @@
* Deprecated `PatternField.element2, use `element` instead.
* Deprecated `RelationalPattern.element2, use `element` instead.
* Deprecated `VariableDeclaration.declaredElement2, use `declaredElement` instead.
+* Deprecate `InterfaceType.methods2`, use `methods` instead.
## 7.4.1
* Restore `InstanceElement.augmented` getter.
diff --git a/pkg/analyzer/api.txt b/pkg/analyzer/api.txt
index 93e5821..f0b8fa9 100644
--- a/pkg/analyzer/api.txt
+++ b/pkg/analyzer/api.txt
@@ -4420,7 +4420,8 @@
element3 (getter: InterfaceElement, deprecated, experimental)
getters (getter: List<GetterElement>, experimental)
interfaces (getter: List<InterfaceType>)
- methods2 (getter: List<MethodElement>, experimental)
+ methods (getter: List<MethodElement>, experimental)
+ methods2 (getter: List<MethodElement>, deprecated, experimental)
mixins (getter: List<InterfaceType>)
setters (getter: List<SetterElement>, experimental)
superclass (getter: InterfaceType?)
diff --git a/pkg/analyzer/lib/dart/element/type.dart b/pkg/analyzer/lib/dart/element/type.dart
index b0f3ded..68091ce 100644
--- a/pkg/analyzer/lib/dart/element/type.dart
+++ b/pkg/analyzer/lib/dart/element/type.dart
@@ -310,6 +310,11 @@
/// Return a list containing all of the methods declared in this type.
@experimental
+ List<MethodElement> get methods;
+
+ /// Return a list containing all of the methods declared in this type.
+ @Deprecated('Use methods instead')
+ @experimental
List<MethodElement> get methods2;
/// Return a list containing all of the mixins that are applied to the class
diff --git a/pkg/analyzer/lib/src/dart/element/type.dart b/pkg/analyzer/lib/src/dart/element/type.dart
index 8ee6d8e..9e587d9 100644
--- a/pkg/analyzer/lib/src/dart/element/type.dart
+++ b/pkg/analyzer/lib/src/dart/element/type.dart
@@ -762,13 +762,17 @@
}
@override
- List<MethodElement2OrMember> get methods2 {
+ List<MethodElement2OrMember> get methods {
return _methods ??=
element.methods.map((e) {
return MethodMember.forTargetType(e, this);
}).toFixedList();
}
+ @Deprecated('Use methods instead')
+ @override
+ List<MethodElement2OrMember> get methods2 => methods;
+
@override
List<InterfaceTypeImpl> get mixins {
return _instantiateSuperTypes(element.mixins);
diff --git a/pkg/analyzer/lib/src/error/inheritance_override.dart b/pkg/analyzer/lib/src/error/inheritance_override.dart
index 25b1c8d..5c83ebf 100644
--- a/pkg/analyzer/lib/src/error/inheritance_override.dart
+++ b/pkg/analyzer/lib/src/error/inheritance_override.dart
@@ -430,7 +430,7 @@
required int mixinIndex,
}) {
var libraryUri = type.element.library.uri;
- for (var method in type.methods2) {
+ for (var method in type.methods) {
_checkDeclaredMember(node, libraryUri, method, mixinIndex: mixinIndex);
}
for (var getter in type.getters) {
@@ -976,7 +976,7 @@
// we could store a bit on ClassElement (included in summaries) which
// denotes whether any declared element has been so annotated. Then the
// expensive looping is deferred until we have such a class.
- for (var method in supertype.methods2) {
+ for (var method in supertype.methods) {
if (method.isPrivate && method.library != classElement.library) {
continue;
}
diff --git a/pkg/analyzer/lib/src/generated/error_verifier.dart b/pkg/analyzer/lib/src/generated/error_verifier.dart
index 0bb54de..85ee36a 100644
--- a/pkg/analyzer/lib/src/generated/error_verifier.dart
+++ b/pkg/analyzer/lib/src/generated/error_verifier.dart
@@ -4534,7 +4534,7 @@
return;
}
}
- for (var method in type.methods2) {
+ for (var method in type.methods) {
if (method.isStatic) {
continue;
}
diff --git a/pkg/analyzer/lib/src/generated/exhaustiveness.dart b/pkg/analyzer/lib/src/generated/exhaustiveness.dart
index 0c7132e..9faf400 100644
--- a/pkg/analyzer/lib/src/generated/exhaustiveness.dart
+++ b/pkg/analyzer/lib/src/generated/exhaustiveness.dart
@@ -418,7 +418,7 @@
fieldTypes[NameKey(name)] = getter.type.returnType;
}
}
- for (var method in type.methods2) {
+ for (var method in type.methods) {
if (method.isPrivate && method.library != _enclosingLibrary) {
continue;
}
diff --git a/pkg/analyzer/test/src/dart/constant/value_test.dart b/pkg/analyzer/test/src/dart/constant/value_test.dart
index 961071d..35ac110 100644
--- a/pkg/analyzer/test/src/dart/constant/value_test.dart
+++ b/pkg/analyzer/test/src/dart/constant/value_test.dart
@@ -1152,7 +1152,7 @@
void test_identical_Type_functionType() {
var toStringType =
- _typeProvider.intType.methods2
+ _typeProvider.intType.methods
.firstWhere((e) => e.name3 == 'toString')
.type;
diff --git a/pkg/analyzer_plugin/lib/utilities/completion/inherited_reference_contributor.dart b/pkg/analyzer_plugin/lib/utilities/completion/inherited_reference_contributor.dart
index 1198002..29d52e68 100644
--- a/pkg/analyzer_plugin/lib/utilities/completion/inherited_reference_contributor.dart
+++ b/pkg/analyzer_plugin/lib/utilities/completion/inherited_reference_contributor.dart
@@ -91,7 +91,7 @@
}
}
}
- for (var elem in type.methods2) {
+ for (var elem in type.methods) {
if (elem.returnType is! VoidType) {
if (optype.includeReturnValueSuggestions) {
addSuggestion(elem);
diff --git a/pkg/analyzer_plugin/lib/utilities/completion/type_member_contributor.dart b/pkg/analyzer_plugin/lib/utilities/completion/type_member_contributor.dart
index 588b8df..46334c0 100644
--- a/pkg/analyzer_plugin/lib/utilities/completion/type_member_contributor.dart
+++ b/pkg/analyzer_plugin/lib/utilities/completion/type_member_contributor.dart
@@ -307,7 +307,7 @@
// exceptions to handle getter/setter pairs).
var types = _getTypeOrdering(type);
for (var targetType in types) {
- for (var method in targetType.methods2) {
+ for (var method in targetType.methods) {
// Exclude static methods when completion on an instance
if (!method.isStatic) {
// Boost the relevance of a super expression