Skip to content

Commit 842ed56

Browse files
fshcheglovCommit Queue
authored andcommitted
Deprecate/rename primaryConstructor2 and representation2 from ExtensionTypeElement.
Change-Id: I3699157f4b8d640449e2dba307d2bf587b243e60 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/435900 Reviewed-by: Konstantin Shcheglov <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]> Reviewed-by: Brian Wilkerson <[email protected]> Reviewed-by: Paul Berry <[email protected]>
1 parent 307b264 commit 842ed56

File tree

13 files changed

+59
-19
lines changed

13 files changed

+59
-19
lines changed

pkg/analysis_server/lib/src/lsp/handlers/handler_definition.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ class DefinitionHandler
227227
// which is not what the user expects.
228228
if (codeFragment.element.enclosingElement
229229
case ExtensionTypeElement enclosingElement
230-
when enclosingElement.primaryConstructor2 == codeFragment.element) {
230+
when enclosingElement.primaryConstructor == codeFragment.element) {
231231
codeFragment = codeFragment.enclosingFragment;
232232
}
233233

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
@@ -1419,7 +1419,7 @@ class DeclarationHelper {
14191419
if (element != null) {
14201420
if (!mustBeType) {
14211421
_addMembersOfEnclosingInstance(element);
1422-
var fieldElement = element.representation2;
1422+
var fieldElement = element.representation;
14231423
_suggestField(field: fieldElement);
14241424
}
14251425
_suggestTypeParameters(element.typeParameters2);

pkg/analyzer/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@
4848
* Deprecate `JoinPatternVariableElement.variables2`, use `variables` instead.
4949
* Deprecate `Annotatable.metadata2`, use `metadata` instead.
5050
* Deprecate `Element.nonSynthetic2`, use `nonSynthetic` instead.
51+
* Deprecate `ExtensionTypeElement.primaryConstructor2`, use `primaryConstructor` instead.
52+
* Deprecate `ExtensionTypeElement.representation2`, use `representation` instead.
53+
* Deprecate `ExtensionTypeFragment.primaryConstructor2`, use `primaryConstructor` instead.
54+
* Deprecate `ExtensionTypeFragment.representation2`, use `representation` instead.
5155

5256
## 7.4.1
5357
* Restore `InstanceElement.augmented` getter.

pkg/analyzer/api.txt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3540,16 +3540,20 @@ package:analyzer/dart/element/element.dart:
35403540
new (constructor: ExtensionTypeElement Function())
35413541
firstFragment (getter: ExtensionTypeFragment)
35423542
fragments (getter: List<ExtensionTypeFragment>)
3543-
primaryConstructor2 (getter: ConstructorElement)
3544-
representation2 (getter: FieldElement)
3543+
primaryConstructor (getter: ConstructorElement)
3544+
primaryConstructor2 (getter: ConstructorElement, deprecated)
3545+
representation (getter: FieldElement)
3546+
representation2 (getter: FieldElement, deprecated)
35453547
typeErasure (getter: DartType)
35463548
ExtensionTypeFragment (class extends Object implements InterfaceFragment):
35473549
new (constructor: ExtensionTypeFragment Function())
35483550
element (getter: ExtensionTypeElement)
35493551
nextFragment (getter: ExtensionTypeFragment?)
35503552
previousFragment (getter: ExtensionTypeFragment?)
3551-
primaryConstructor2 (getter: ConstructorFragment)
3552-
representation2 (getter: FieldFragment)
3553+
primaryConstructor (getter: ConstructorFragment)
3554+
primaryConstructor2 (getter: ConstructorFragment, deprecated)
3555+
representation (getter: FieldFragment)
3556+
representation2 (getter: FieldFragment, deprecated)
35533557
FieldElement (class extends Object implements PropertyInducingElement):
35543558
new (constructor: FieldElement Function())
35553559
baseElement (getter: FieldElement)

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1306,9 +1306,17 @@ abstract class ExtensionTypeElement implements InterfaceElement {
13061306
List<ExtensionTypeFragment> get fragments;
13071307

13081308
/// The primary constructor of this extension.
1309+
ConstructorElement get primaryConstructor;
1310+
1311+
/// The primary constructor of this extension.
1312+
@Deprecated('Use primaryConstructor instead')
13091313
ConstructorElement get primaryConstructor2;
13101314

13111315
/// The representation of this extension.
1316+
FieldElement get representation;
1317+
1318+
/// The representation of this extension.
1319+
@Deprecated('Use representation instead')
13121320
FieldElement get representation2;
13131321

13141322
/// The extension type erasure, obtained by recursively replacing every
@@ -1331,9 +1339,18 @@ abstract class ExtensionTypeFragment implements InterfaceFragment {
13311339
@override
13321340
ExtensionTypeFragment? get previousFragment;
13331341

1342+
/// The primary constructor of this extension.
1343+
ConstructorFragment get primaryConstructor;
1344+
1345+
/// The primary constructor of this extension.
1346+
@Deprecated('Use primaryConstructor instead')
13341347
ConstructorFragment get primaryConstructor2;
13351348

13361349
/// The representation of this extension.
1350+
FieldFragment get representation;
1351+
1352+
/// The representation of this extension.
1353+
@Deprecated('Use representation instead')
13371354
FieldFragment get representation2;
13381355
}
13391356

pkg/analyzer/lib/src/dart/constant/evaluation.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2990,7 +2990,7 @@ class _InstanceCreationEvaluator {
29902990

29912991
var definingType = this.definingType;
29922992
if (definingType.element3 case ExtensionTypeElement element) {
2993-
var representation = _fieldMap[element.representation2.name3];
2993+
var representation = _fieldMap[element.representation.name3];
29942994
if (representation != null) {
29952995
return representation;
29962996
}

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

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2810,15 +2810,27 @@ class ExtensionTypeElementImpl extends InterfaceElementImpl
28102810
}
28112811

28122812
@override
2813-
ConstructorElement get primaryConstructor2 {
2813+
ConstructorElement get primaryConstructor {
28142814
return firstFragment.primaryConstructor.element;
28152815
}
28162816

2817+
@Deprecated('Use primaryConstructor instead')
28172818
@override
2818-
FieldElementImpl get representation2 {
2819+
ConstructorElement get primaryConstructor2 {
2820+
return primaryConstructor;
2821+
}
2822+
2823+
@override
2824+
FieldElementImpl get representation {
28192825
return firstFragment.representation.element;
28202826
}
28212827

2828+
@Deprecated('Use representation instead')
2829+
@override
2830+
FieldElementImpl get representation2 {
2831+
return representation;
2832+
}
2833+
28222834
@override
28232835
DartType get typeErasure => firstFragment.typeErasure;
28242836

@@ -2863,20 +2875,23 @@ class ExtensionTypeFragmentImpl extends InterfaceFragmentImpl
28632875
ExtensionTypeFragmentImpl? get previousFragment =>
28642876
super.previousFragment as ExtensionTypeFragmentImpl?;
28652877

2878+
@override
28662879
ConstructorFragmentImpl get primaryConstructor {
28672880
return constructors.first;
28682881
}
28692882

2883+
@Deprecated('Use primaryConstructor instead')
28702884
@override
2871-
ConstructorFragment get primaryConstructor2 =>
2872-
primaryConstructor as ConstructorFragment;
2885+
ConstructorFragmentImpl get primaryConstructor2 => primaryConstructor;
28732886

2887+
@override
28742888
FieldFragmentImpl get representation {
28752889
return fields.first;
28762890
}
28772891

2892+
@Deprecated('Use representation instead')
28782893
@override
2879-
FieldFragment get representation2 => representation as FieldFragment;
2894+
FieldFragmentImpl get representation2 => representation;
28802895

28812896
void addFragment(ExtensionTypeFragmentImpl fragment) {
28822897
fragment.augmentedInternal = element;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -789,7 +789,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
789789
TypeImpl? get representationType {
790790
if (element3 case ExtensionTypeElement element) {
791791
var substitution = Substitution.fromInterfaceType(this);
792-
var representationType = element.representation2.type;
792+
var representationType = element.representation.type;
793793
return substitution.substituteType(representationType);
794794
}
795795
return null;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ class GetterSetterTypesVerifier {
7373
Element errorElement;
7474
if (getter.enclosingElement == element) {
7575
if (element is ExtensionTypeElementImpl &&
76-
element.representation2.getter2 == getter) {
76+
element.representation.getter2 == getter) {
7777
errorElement = setter;
7878
} else {
7979
errorElement = getter;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -891,7 +891,7 @@ class _FieldPromotability
891891
// Private representation fields of extension types are always promotable.
892892
// They also don't affect promotability of any other fields.
893893
for (var extensionType in element.extensionTypes) {
894-
var representation = extensionType.representation2;
894+
var representation = extensionType.representation;
895895
var representationName = representation.name3;
896896
if (representationName != null) {
897897
if (representationName.startsWith('_')) {

0 commit comments

Comments
 (0)