Deprecate/rename primaryConstructor2 and representation2 from ExtensionTypeElement.
Change-Id: I3699157f4b8d640449e2dba307d2bf587b243e60 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/435900 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Reviewed-by: Paul Berry <paulberry@google.com>
This commit is contained in:
committed by
Commit Queue
parent
307b2644c6
commit
842ed5606c
@@ -227,7 +227,7 @@ class DefinitionHandler
|
||||
// which is not what the user expects.
|
||||
if (codeFragment.element.enclosingElement
|
||||
case ExtensionTypeElement enclosingElement
|
||||
when enclosingElement.primaryConstructor2 == codeFragment.element) {
|
||||
when enclosingElement.primaryConstructor == codeFragment.element) {
|
||||
codeFragment = codeFragment.enclosingFragment;
|
||||
}
|
||||
|
||||
|
||||
@@ -1419,7 +1419,7 @@ class DeclarationHelper {
|
||||
if (element != null) {
|
||||
if (!mustBeType) {
|
||||
_addMembersOfEnclosingInstance(element);
|
||||
var fieldElement = element.representation2;
|
||||
var fieldElement = element.representation;
|
||||
_suggestField(field: fieldElement);
|
||||
}
|
||||
_suggestTypeParameters(element.typeParameters2);
|
||||
|
||||
@@ -48,6 +48,10 @@
|
||||
* Deprecate `JoinPatternVariableElement.variables2`, use `variables` instead.
|
||||
* Deprecate `Annotatable.metadata2`, use `metadata` instead.
|
||||
* Deprecate `Element.nonSynthetic2`, use `nonSynthetic` instead.
|
||||
* Deprecate `ExtensionTypeElement.primaryConstructor2`, use `primaryConstructor` instead.
|
||||
* Deprecate `ExtensionTypeElement.representation2`, use `representation` instead.
|
||||
* Deprecate `ExtensionTypeFragment.primaryConstructor2`, use `primaryConstructor` instead.
|
||||
* Deprecate `ExtensionTypeFragment.representation2`, use `representation` instead.
|
||||
|
||||
## 7.4.1
|
||||
* Restore `InstanceElement.augmented` getter.
|
||||
|
||||
@@ -3540,16 +3540,20 @@ package:analyzer/dart/element/element.dart:
|
||||
new (constructor: ExtensionTypeElement Function())
|
||||
firstFragment (getter: ExtensionTypeFragment)
|
||||
fragments (getter: List<ExtensionTypeFragment>)
|
||||
primaryConstructor2 (getter: ConstructorElement)
|
||||
representation2 (getter: FieldElement)
|
||||
primaryConstructor (getter: ConstructorElement)
|
||||
primaryConstructor2 (getter: ConstructorElement, deprecated)
|
||||
representation (getter: FieldElement)
|
||||
representation2 (getter: FieldElement, deprecated)
|
||||
typeErasure (getter: DartType)
|
||||
ExtensionTypeFragment (class extends Object implements InterfaceFragment):
|
||||
new (constructor: ExtensionTypeFragment Function())
|
||||
element (getter: ExtensionTypeElement)
|
||||
nextFragment (getter: ExtensionTypeFragment?)
|
||||
previousFragment (getter: ExtensionTypeFragment?)
|
||||
primaryConstructor2 (getter: ConstructorFragment)
|
||||
representation2 (getter: FieldFragment)
|
||||
primaryConstructor (getter: ConstructorFragment)
|
||||
primaryConstructor2 (getter: ConstructorFragment, deprecated)
|
||||
representation (getter: FieldFragment)
|
||||
representation2 (getter: FieldFragment, deprecated)
|
||||
FieldElement (class extends Object implements PropertyInducingElement):
|
||||
new (constructor: FieldElement Function())
|
||||
baseElement (getter: FieldElement)
|
||||
|
||||
@@ -1306,9 +1306,17 @@ abstract class ExtensionTypeElement implements InterfaceElement {
|
||||
List<ExtensionTypeFragment> get fragments;
|
||||
|
||||
/// The primary constructor of this extension.
|
||||
ConstructorElement get primaryConstructor;
|
||||
|
||||
/// The primary constructor of this extension.
|
||||
@Deprecated('Use primaryConstructor instead')
|
||||
ConstructorElement get primaryConstructor2;
|
||||
|
||||
/// The representation of this extension.
|
||||
FieldElement get representation;
|
||||
|
||||
/// The representation of this extension.
|
||||
@Deprecated('Use representation instead')
|
||||
FieldElement get representation2;
|
||||
|
||||
/// The extension type erasure, obtained by recursively replacing every
|
||||
@@ -1331,9 +1339,18 @@ abstract class ExtensionTypeFragment implements InterfaceFragment {
|
||||
@override
|
||||
ExtensionTypeFragment? get previousFragment;
|
||||
|
||||
/// The primary constructor of this extension.
|
||||
ConstructorFragment get primaryConstructor;
|
||||
|
||||
/// The primary constructor of this extension.
|
||||
@Deprecated('Use primaryConstructor instead')
|
||||
ConstructorFragment get primaryConstructor2;
|
||||
|
||||
/// The representation of this extension.
|
||||
FieldFragment get representation;
|
||||
|
||||
/// The representation of this extension.
|
||||
@Deprecated('Use representation instead')
|
||||
FieldFragment get representation2;
|
||||
}
|
||||
|
||||
|
||||
@@ -2990,7 +2990,7 @@ class _InstanceCreationEvaluator {
|
||||
|
||||
var definingType = this.definingType;
|
||||
if (definingType.element3 case ExtensionTypeElement element) {
|
||||
var representation = _fieldMap[element.representation2.name3];
|
||||
var representation = _fieldMap[element.representation.name3];
|
||||
if (representation != null) {
|
||||
return representation;
|
||||
}
|
||||
|
||||
@@ -2810,13 +2810,25 @@ class ExtensionTypeElementImpl extends InterfaceElementImpl
|
||||
}
|
||||
|
||||
@override
|
||||
ConstructorElement get primaryConstructor2 {
|
||||
ConstructorElement get primaryConstructor {
|
||||
return firstFragment.primaryConstructor.element;
|
||||
}
|
||||
|
||||
@Deprecated('Use primaryConstructor instead')
|
||||
@override
|
||||
ConstructorElement get primaryConstructor2 {
|
||||
return primaryConstructor;
|
||||
}
|
||||
|
||||
@override
|
||||
FieldElementImpl get representation {
|
||||
return firstFragment.representation.element;
|
||||
}
|
||||
|
||||
@Deprecated('Use representation instead')
|
||||
@override
|
||||
FieldElementImpl get representation2 {
|
||||
return firstFragment.representation.element;
|
||||
return representation;
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -2863,20 +2875,23 @@ class ExtensionTypeFragmentImpl extends InterfaceFragmentImpl
|
||||
ExtensionTypeFragmentImpl? get previousFragment =>
|
||||
super.previousFragment as ExtensionTypeFragmentImpl?;
|
||||
|
||||
@override
|
||||
ConstructorFragmentImpl get primaryConstructor {
|
||||
return constructors.first;
|
||||
}
|
||||
|
||||
@Deprecated('Use primaryConstructor instead')
|
||||
@override
|
||||
ConstructorFragment get primaryConstructor2 =>
|
||||
primaryConstructor as ConstructorFragment;
|
||||
ConstructorFragmentImpl get primaryConstructor2 => primaryConstructor;
|
||||
|
||||
@override
|
||||
FieldFragmentImpl get representation {
|
||||
return fields.first;
|
||||
}
|
||||
|
||||
@Deprecated('Use representation instead')
|
||||
@override
|
||||
FieldFragment get representation2 => representation as FieldFragment;
|
||||
FieldFragmentImpl get representation2 => representation;
|
||||
|
||||
void addFragment(ExtensionTypeFragmentImpl fragment) {
|
||||
fragment.augmentedInternal = element;
|
||||
|
||||
@@ -789,7 +789,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
|
||||
TypeImpl? get representationType {
|
||||
if (element3 case ExtensionTypeElement element) {
|
||||
var substitution = Substitution.fromInterfaceType(this);
|
||||
var representationType = element.representation2.type;
|
||||
var representationType = element.representation.type;
|
||||
return substitution.substituteType(representationType);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -73,7 +73,7 @@ class GetterSetterTypesVerifier {
|
||||
Element errorElement;
|
||||
if (getter.enclosingElement == element) {
|
||||
if (element is ExtensionTypeElementImpl &&
|
||||
element.representation2.getter2 == getter) {
|
||||
element.representation.getter2 == getter) {
|
||||
errorElement = setter;
|
||||
} else {
|
||||
errorElement = getter;
|
||||
|
||||
@@ -891,7 +891,7 @@ class _FieldPromotability
|
||||
// Private representation fields of extension types are always promotable.
|
||||
// They also don't affect promotability of any other fields.
|
||||
for (var extensionType in element.extensionTypes) {
|
||||
var representation = extensionType.representation2;
|
||||
var representation = extensionType.representation;
|
||||
var representationName = representation.name3;
|
||||
if (representationName != null) {
|
||||
if (representationName.startsWith('_')) {
|
||||
|
||||
@@ -1130,11 +1130,11 @@ class _Element2Writer extends _AbstractElementWriter {
|
||||
expect(e.supertype, isNull);
|
||||
_elementPrinter.writeNamedElement2(
|
||||
'representation',
|
||||
e.representation2,
|
||||
e.representation,
|
||||
);
|
||||
_elementPrinter.writeNamedElement2(
|
||||
'primaryConstructor',
|
||||
e.primaryConstructor2,
|
||||
e.primaryConstructor,
|
||||
);
|
||||
_elementPrinter.writeNamedType('typeErasure', e.typeErasure);
|
||||
_elementPrinter.writeTypeList('interfaces', e.interfaces);
|
||||
|
||||
@@ -52,7 +52,7 @@ bool _isJsInteropType(DartType type, _InteropTypeKind kind) {
|
||||
if (dartJsInteropTypeKind && element.isFromLibrary(_dartJsInteropUri)) {
|
||||
return true;
|
||||
} else if (userJsInteropTypeKind) {
|
||||
var representationType = element.representation2.type;
|
||||
var representationType = element.representation.type;
|
||||
return _isJsInteropType(
|
||||
representationType,
|
||||
_InteropTypeKind.dartJsInteropType,
|
||||
|
||||
@@ -101,7 +101,7 @@ class _Visitor extends SimpleAstVisitor<void> {
|
||||
}
|
||||
|
||||
if (clazz is ExtensionTypeElement) {
|
||||
return clazz.primaryConstructor2.isConst;
|
||||
return clazz.primaryConstructor.isConst;
|
||||
}
|
||||
|
||||
// Constructor with implicit `super()` call.
|
||||
|
||||
Reference in New Issue
Block a user