Elements. Migrate src/dart/ast/extensions.dart

Change-Id: Idab6c1ad5538f07f566c778a986b9841e9cd6f6a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/413041
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/dart/analysis/session.dart b/pkg/analyzer/lib/src/dart/analysis/session.dart
index 83ffc97..e89fc7f 100644
--- a/pkg/analyzer/lib/src/dart/analysis/session.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/session.dart
@@ -2,8 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-// ignore_for_file: analyzer_use_new_elements
-
 import 'package:analyzer/dart/analysis/analysis_context.dart';
 import 'package:analyzer/dart/analysis/declared_variables.dart';
 import 'package:analyzer/dart/analysis/results.dart';
@@ -95,6 +93,7 @@
     return _driver.getParsedLibrary(path);
   }
 
+  @Deprecated('Use getParsedLibraryByElement2() instead')
   @override
   SomeParsedLibraryResult getParsedLibraryByElement(LibraryElement element) {
     checkConsistency();
@@ -129,6 +128,7 @@
     return await _driver.getResolvedLibrary(path);
   }
 
+  @Deprecated('Use getResolvedLibraryByElement2() instead')
   @override
   Future<SomeResolvedLibraryResult> getResolvedLibraryByElement(
     LibraryElement element,
diff --git a/pkg/analyzer/lib/src/dart/ast/extensions.dart b/pkg/analyzer/lib/src/dart/ast/extensions.dart
index aaff107..fe89f08 100644
--- a/pkg/analyzer/lib/src/dart/ast/extensions.dart
+++ b/pkg/analyzer/lib/src/dart/ast/extensions.dart
@@ -2,60 +2,33 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-// ignore_for_file: analyzer_use_new_elements
-
 import 'package:analyzer/dart/ast/syntactic_entity.dart';
 import 'package:analyzer/dart/ast/token.dart';
-import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/element2.dart';
 import 'package:analyzer/dart/element/type.dart';
 import 'package:analyzer/src/dart/ast/ast.dart';
 import 'package:analyzer/src/dart/element/type.dart';
-import 'package:analyzer/src/utilities/extensions/element.dart';
 import 'package:collection/collection.dart';
 
 // TODO(scheglov): https://github.com/dart-lang/sdk/issues/43608
-Element? _readElement(AstNode node) {
+Element2? _readElement2(AstNode node) {
   var parent = node.parent;
 
   if (parent is AssignmentExpression && parent.leftHandSide == node) {
-    return parent.readElement;
+    return parent.readElement2;
   }
   if (parent is PostfixExpression && parent.operand == node) {
-    return parent.readElement;
+    return parent.readElement2;
   }
   if (parent is PrefixExpression && parent.operand == node) {
-    return parent.readElement;
+    return parent.readElement2;
   }
 
   if (parent is PrefixedIdentifier && parent.identifier == node) {
-    return _readElement(parent);
+    return _readElement2(parent);
   }
   if (parent is PropertyAccess && parent.propertyName == node) {
-    return _readElement(parent);
-  }
-  return null;
-}
-
-// TODO(scheglov): https://github.com/dart-lang/sdk/issues/43608
-Element? _writeElement(AstNode node) {
-  var parent = node.parent;
-
-  if (parent is AssignmentExpression && parent.leftHandSide == node) {
-    return parent.writeElement;
-  }
-  if (parent is PostfixExpression && parent.operand == node) {
-    return parent.writeElement;
-  }
-  if (parent is PrefixExpression && parent.operand == node) {
-    return parent.writeElement;
-  }
-
-  if (parent is PrefixedIdentifier && parent.identifier == node) {
-    return _writeElement(parent);
-  }
-  if (parent is PropertyAccess && parent.propertyName == node) {
-    return _writeElement(parent);
+    return _readElement2(parent);
   }
   return null;
 }
@@ -226,12 +199,8 @@
 
 // TODO(scheglov): https://github.com/dart-lang/sdk/issues/43608
 extension IdentifierExtension on Identifier {
-  Element? get readElement {
-    return _readElement(this);
-  }
-
   Element2? get readElement2 {
-    return _readElement(this).asElement2;
+    return _readElement2(this);
   }
 
   SimpleIdentifier get simpleName {
@@ -243,16 +212,8 @@
     }
   }
 
-  Element? get writeElement {
-    return _writeElement(this);
-  }
-
   Element2? get writeElement2 {
-    return _writeElement(this).asElement2;
-  }
-
-  Element? get writeOrReadElement {
-    return _writeElement(this) ?? staticElement;
+    return _writeElement2(this);
   }
 
   Element2? get writeOrReadElement2 {
@@ -275,18 +236,18 @@
         importPrefix: ImportPrefixReferenceImpl(
           name: self.prefix.token,
           period: self.period,
-        )..element = self.prefix.staticElement,
+        )..element2 = self.prefix.element,
         name2: self.identifier.token,
         typeArguments: typeArguments,
         question: question,
-      )..element2 = self.identifier.staticElement?.asElement2;
+      )..element2 = self.identifier.element;
     } else if (self is SimpleIdentifierImpl) {
       return NamedTypeImpl(
         importPrefix: null,
         name2: self.token,
         typeArguments: typeArguments,
         question: question,
-      )..element2 = self.staticElement?.asElement2;
+      )..element2 = self.element;
     } else {
       throw UnimplementedError('(${self.runtimeType}) $self');
     }
@@ -295,10 +256,6 @@
 
 // TODO(scheglov): https://github.com/dart-lang/sdk/issues/43608
 extension IndexExpressionExtension on IndexExpression {
-  Element? get writeOrReadElement {
-    return _writeElement(this) ?? staticElement;
-  }
-
   Element2? get writeOrReadElement2 {
     return _writeElement2(this) ?? element;
   }