Skip to content

Commit 98f233b

Browse files
fshcheglovCommit Queue
authored andcommitted
Deprecate InterfaceType.constructors2, use constructors instead.
Change-Id: I2d63bc1b61acb781ad0b8a45f15a05d36ee3a304 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/435748 Reviewed-by: Paul Berry <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]> Reviewed-by: Brian Wilkerson <[email protected]>
1 parent 528b01e commit 98f233b

15 files changed

+24
-14
lines changed

pkg/analysis_server/lib/src/services/completion/dart/declaration_helper.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ class DeclarationHelper {
182182
required InterfaceType type,
183183
String? exclude,
184184
}) {
185-
for (var constructor in type.constructors2) {
185+
for (var constructor in type.constructors) {
186186
var name = constructor.name3;
187187
if (name != 'new' &&
188188
name != exclude &&

pkg/analysis_server/lib/src/services/correction/dart/add_key_to_constructors.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ class AddKeyToConstructors extends ResolvedCorrectionProducer {
8080
return;
8181
}
8282
var className = node.name.lexeme;
83-
var constructors = node.declaredFragment!.element.supertype?.constructors2;
83+
var constructors = node.declaredFragment!.element.supertype?.constructors;
8484
if (constructors == null) {
8585
return;
8686
}

pkg/analysis_server/lib/src/services/correction/dart/add_super_constructor_invocation.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class AddSuperConstructorInvocation extends MultiCorrectionProducer {
4343
prefix = ', ';
4444
}
4545
var producers = <ResolvedCorrectionProducer>[];
46-
for (var constructor in superType.constructors2) {
46+
for (var constructor in superType.constructors) {
4747
// Only propose public constructors.
4848
var name = constructor.name3;
4949
if (name != null && !Identifier.isPrivateName(name)) {

pkg/analysis_server/lib/src/services/correction/dart/change_to.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ class ChangeTo extends ResolvedCorrectionProducer {
326326
var superType = targetClassElement.supertype;
327327
if (superType == null) return;
328328

329-
for (var constructor in superType.constructors2) {
329+
for (var constructor in superType.constructors) {
330330
if (constructor.name3 == 'new') {
331331
var list = _formalParameterSuggestions(constructor, formalParameters);
332332
finder._updateList(list);

pkg/analysis_server/lib/src/services/correction/dart/create_constructor_for_final_fields.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ class _FixContext {
420420
});
421421

422422
List<FormalParameterElement>? get superNamed {
423-
var superConstructor = superType.constructors2.singleOrNull;
423+
var superConstructor = superType.constructors.singleOrNull;
424424
if (superConstructor != null) {
425425
var superAll = superConstructor.formalParameters;
426426
var superNamed = superAll.where((e) => e.isNamed).toList();

pkg/analysis_server/lib/src/services/correction/dart/create_constructor_super.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class CreateConstructorSuper extends MultiCorrectionProducer {
2828

2929
var producers = <ResolvedCorrectionProducer>[];
3030
// add proposals for all super constructors
31-
for (var constructor in superType.constructors2) {
31+
for (var constructor in superType.constructors) {
3232
// Only propose public constructors.
3333
var name = constructor.name3;
3434
if (name != null && !Identifier.isPrivateName(name)) {

pkg/analyzer/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
* Deprecate `ExtensionTypeFragment.representation2`, use `representation` instead.
7272
* Deprecate `DartType.element3`, use `element` instead.
7373
* Deprecate `LibraryElement.loadLibraryFunction2`, use `loadLibraryFunction` instead.
74+
* Deprecate `InterfaceType.constructors2`, use `constructors` instead.
7475

7576
## 7.4.1
7677
* Restore `InstanceElement.augmented` getter.

pkg/analyzer/api.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4394,7 +4394,8 @@ package:analyzer/dart/element/type.dart:
43944394
InterfaceType (class extends Object implements ParameterizedType):
43954395
new (constructor: InterfaceType Function())
43964396
allSupertypes (getter: List<InterfaceType>)
4397-
constructors2 (getter: List<ConstructorElement>, experimental)
4397+
constructors (getter: List<ConstructorElement>, experimental)
4398+
constructors2 (getter: List<ConstructorElement>, deprecated, experimental)
43984399
element (getter: InterfaceElement, experimental)
43994400
element3 (getter: InterfaceElement, deprecated, experimental)
44004401
getters (getter: List<GetterElement>, experimental)

pkg/analyzer/lib/dart/element/type.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,10 @@ abstract class InterfaceType implements ParameterizedType {
279279

280280
/// Return a list containing all of the constructors declared in this type.
281281
@experimental
282+
List<ConstructorElement> get constructors;
283+
284+
@Deprecated('Use constructors instead')
285+
@experimental
282286
List<ConstructorElement> get constructors2;
283287

284288
@experimental

pkg/analyzer/lib/src/dart/element/element.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ class ClassElementImpl extends InterfaceElementImpl implements ClassElement {
440440
// Assign to break a possible infinite recursion during computing.
441441
_constructors = const <ConstructorElementImpl>[];
442442

443-
var superConstructors = superType.constructors2
443+
var superConstructors = superType.constructors
444444
.where((constructor) => constructor.isAccessibleIn2(library))
445445
.where((constructor) => constructor.isGenerative)
446446
.toList(growable: false);

pkg/analyzer/lib/src/dart/element/type.dart

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -665,13 +665,17 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
665665
}
666666

667667
@override
668-
List<ConstructorElementMixin2> get constructors2 {
668+
List<ConstructorElementMixin2> get constructors {
669669
return _constructors ??=
670670
element.constructors.map((constructor) {
671671
return ConstructorMember.from2(constructor, this);
672672
}).toFixedList();
673673
}
674674

675+
@Deprecated('Use constructors instead')
676+
@override
677+
List<ConstructorElementMixin2> get constructors2 => constructors;
678+
675679
@Deprecated('Use element instead')
676680
@override
677681
InterfaceElementImpl get element3 => element;

pkg/analyzer/lib/src/error/unused_local_elements_verifier.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ class GatherUsedLocalElementsVisitor extends RecursiveAstVisitor<void> {
164164
if (!Identifier.isPrivateName(node.name.lexeme)) {
165165
var type = node.type.type;
166166
if (type is InterfaceTypeImpl) {
167-
for (var constructor in type.constructors2) {
167+
for (var constructor in type.constructors) {
168168
if (!Identifier.isPrivateName(constructor.name3!)) {
169169
usedElements.addElement(constructor);
170170
}

pkg/analyzer/lib/src/summary2/super_constructor_resolver.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class SuperConstructorResolver {
4848
invokesDefaultSuperConstructor = false;
4949
var name = initializer.constructorName?.name ?? 'new';
5050
element.superConstructor2 =
51-
classElement.supertype?.constructors2
51+
classElement.supertype?.constructors
5252
.where((element) => element.name3 == name)
5353
.firstOrNull;
5454
}
@@ -58,7 +58,7 @@ class SuperConstructorResolver {
5858

5959
if (invokesDefaultSuperConstructor) {
6060
element.superConstructor2 =
61-
classElement.supertype?.constructors2
61+
classElement.supertype?.constructors
6262
.where((element) => element.name3 == 'new')
6363
.firstOrNull;
6464
}

pkg/linter/lib/src/rules/prefer_const_constructors_in_immutables.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ class _Visitor extends SimpleAstVisitor<void> {
105105
}
106106

107107
// Constructor with implicit `super()` call.
108-
var unnamedSuperConstructor = clazz.supertype?.constructors2
108+
var unnamedSuperConstructor = clazz.supertype?.constructors
109109
.firstWhereOrNull((e) => e.name3 == 'new');
110110
return unnamedSuperConstructor != null && unnamedSuperConstructor.isConst;
111111
}

pkg/linter/lib/src/rules/unreachable_from_main.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -404,7 +404,7 @@ class _ReferenceVisitor extends RecursiveAstVisitor<void> {
404404
var classElement = class_.declaredFragment?.element;
405405
var supertype = classElement?.supertype;
406406
if (supertype != null) {
407-
var unnamedConstructor = supertype.constructors2.firstWhereOrNull(
407+
var unnamedConstructor = supertype.constructors.firstWhereOrNull(
408408
(e) => e.name3 == 'new',
409409
);
410410
if (unnamedConstructor != null) {

0 commit comments

Comments
 (0)