Elements. Make PropertyAccessorElement2.enclosingElement2 non-nullable.
Change-Id: If54f6428cbf8e96cb84e9eb2e989104b2f56cbce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/406689
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_matcher.dart b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_matcher.dart
index 396bb93..cfe1a52 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_matcher.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix/data_driven/element_matcher.dart
@@ -549,7 +549,7 @@
var enclosingElement = element.enclosingElement2;
if (enclosingElement is! LibraryElement2) {
_addMatcher(
- components: [node.name, (enclosingElement?.displayName)!],
+ components: [node.name, enclosingElement.displayName],
kinds: [],
);
return;
diff --git a/pkg/analyzer/lib/dart/element/element2.dart b/pkg/analyzer/lib/dart/element/element2.dart
index 3f36d78..64f790a 100644
--- a/pkg/analyzer/lib/dart/element/element2.dart
+++ b/pkg/analyzer/lib/dart/element/element2.dart
@@ -2323,6 +2323,9 @@
PropertyAccessorElement2 get baseElement;
@override
+ Element2 get enclosingElement2;
+
+ @override
PropertyAccessorFragment get firstFragment;
@override
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 2472058..63f3bd1 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -10056,7 +10056,7 @@
set element(PropertyAccessorElementImpl2 element) => _element = element;
@override
- Fragment? get enclosingFragment {
+ Fragment get enclosingFragment {
var enclosing = enclosingElement3;
if (enclosing is InstanceFragment) {
return enclosing as InstanceFragment;
@@ -10158,7 +10158,7 @@
PropertyAccessorElement2 get baseElement => this;
@override
- Element2? get enclosingElement2 => firstFragment.enclosingFragment?.element;
+ Element2 get enclosingElement2 => firstFragment.enclosingFragment.element;
@override
PropertyAccessorElementImpl get firstFragment;
@@ -10585,7 +10585,7 @@
firstFragment.correspondingGetter2?.element as GetterElement?;
@override
- Element2? get enclosingElement2 => firstFragment.enclosingFragment?.element;
+ Element2 get enclosingElement2 => firstFragment.enclosingFragment.element;
@override
List<PropertyAccessorElementImpl> get fragments {
diff --git a/pkg/analyzer/lib/src/dart/element/member.dart b/pkg/analyzer/lib/src/dart/element/member.dart
index 72907c4..941a79d 100644
--- a/pkg/analyzer/lib/src/dart/element/member.dart
+++ b/pkg/analyzer/lib/src/dart/element/member.dart
@@ -1445,6 +1445,11 @@
super.declaration as PropertyAccessorElementImpl;
@override
+ Element2 get enclosingElement2 {
+ return super.enclosingElement2!;
+ }
+
+ @override
Element get enclosingElement3 => declaration.enclosingElement3;
@override
diff --git a/pkg/linter/lib/src/rules/overridden_fields.dart b/pkg/linter/lib/src/rules/overridden_fields.dart
index 6b6e199..105b016 100644
--- a/pkg/linter/lib/src/rules/overridden_fields.dart
+++ b/pkg/linter/lib/src/rules/overridden_fields.dart
@@ -49,12 +49,10 @@
);
if (overriddenMember is GetterElement && overriddenMember.isSynthetic) {
var definingInterface = overriddenMember.enclosingElement2;
- if (definingInterface != null) {
- rule.reportLintForToken(
- variable.name,
- arguments: [definingInterface.displayName],
- );
- }
+ rule.reportLintForToken(
+ variable.name,
+ arguments: [definingInterface.displayName],
+ );
}
}
}