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],
+          );
         }
       }
     }