22// for details. All rights reserved. Use of this source code is governed by a
33// BSD-style license that can be found in the LICENSE file.
44
5- // ignore_for_file: analyzer_use_new_elements
6-
75import 'package:analyzer/dart/ast/syntactic_entity.dart' ;
86import 'package:analyzer/dart/ast/token.dart' ;
9- import 'package:analyzer/dart/element/element.dart' ;
107import 'package:analyzer/dart/element/element2.dart' ;
118import 'package:analyzer/dart/element/type.dart' ;
129import 'package:analyzer/src/dart/ast/ast.dart' ;
1310import 'package:analyzer/src/dart/element/type.dart' ;
14- import 'package:analyzer/src/utilities/extensions/element.dart' ;
1511import 'package:collection/collection.dart' ;
1612
1713// TODO(scheglov): https://github.com/dart-lang/sdk/issues/43608
18- Element ? _readElement (AstNode node) {
19- var parent = node.parent;
20-
21- if (parent is AssignmentExpression && parent.leftHandSide == node) {
22- return parent.readElement;
23- }
24- if (parent is PostfixExpression && parent.operand == node) {
25- return parent.readElement;
26- }
27- if (parent is PrefixExpression && parent.operand == node) {
28- return parent.readElement;
29- }
30-
31- if (parent is PrefixedIdentifier && parent.identifier == node) {
32- return _readElement (parent);
33- }
34- if (parent is PropertyAccess && parent.propertyName == node) {
35- return _readElement (parent);
36- }
37- return null ;
38- }
39-
40- // TODO(scheglov): https://github.com/dart-lang/sdk/issues/43608
41- Element ? _writeElement (AstNode node) {
14+ Element2 ? _readElement2 (AstNode node) {
4215 var parent = node.parent;
4316
4417 if (parent is AssignmentExpression && parent.leftHandSide == node) {
45- return parent.writeElement ;
18+ return parent.readElement2 ;
4619 }
4720 if (parent is PostfixExpression && parent.operand == node) {
48- return parent.writeElement ;
21+ return parent.readElement2 ;
4922 }
5023 if (parent is PrefixExpression && parent.operand == node) {
51- return parent.writeElement ;
24+ return parent.readElement2 ;
5225 }
5326
5427 if (parent is PrefixedIdentifier && parent.identifier == node) {
55- return _writeElement (parent);
28+ return _readElement2 (parent);
5629 }
5730 if (parent is PropertyAccess && parent.propertyName == node) {
58- return _writeElement (parent);
31+ return _readElement2 (parent);
5932 }
6033 return null ;
6134}
@@ -226,12 +199,8 @@ extension FormalParameterExtension on FormalParameter {
226199
227200// TODO(scheglov): https://github.com/dart-lang/sdk/issues/43608
228201extension IdentifierExtension on Identifier {
229- Element ? get readElement {
230- return _readElement (this );
231- }
232-
233202 Element2 ? get readElement2 {
234- return _readElement (this ).asElement2 ;
203+ return _readElement2 (this );
235204 }
236205
237206 SimpleIdentifier get simpleName {
@@ -243,16 +212,8 @@ extension IdentifierExtension on Identifier {
243212 }
244213 }
245214
246- Element ? get writeElement {
247- return _writeElement (this );
248- }
249-
250215 Element2 ? get writeElement2 {
251- return _writeElement (this ).asElement2;
252- }
253-
254- Element ? get writeOrReadElement {
255- return _writeElement (this ) ?? staticElement;
216+ return _writeElement2 (this );
256217 }
257218
258219 Element2 ? get writeOrReadElement2 {
@@ -275,18 +236,18 @@ extension IdentifierImplExtension on IdentifierImpl {
275236 importPrefix: ImportPrefixReferenceImpl (
276237 name: self.prefix.token,
277238 period: self.period,
278- )..element = self.prefix.staticElement ,
239+ )..element2 = self.prefix.element ,
279240 name2: self.identifier.token,
280241 typeArguments: typeArguments,
281242 question: question,
282- )..element2 = self.identifier.staticElement ? .asElement2 ;
243+ )..element2 = self.identifier.element ;
283244 } else if (self is SimpleIdentifierImpl ) {
284245 return NamedTypeImpl (
285246 importPrefix: null ,
286247 name2: self.token,
287248 typeArguments: typeArguments,
288249 question: question,
289- )..element2 = self.staticElement ? .asElement2 ;
250+ )..element2 = self.element ;
290251 } else {
291252 throw UnimplementedError ('(${self .runtimeType }) $self ' );
292253 }
@@ -295,10 +256,6 @@ extension IdentifierImplExtension on IdentifierImpl {
295256
296257// TODO(scheglov): https://github.com/dart-lang/sdk/issues/43608
297258extension IndexExpressionExtension on IndexExpression {
298- Element ? get writeOrReadElement {
299- return _writeElement (this ) ?? staticElement;
300- }
301-
302259 Element2 ? get writeOrReadElement2 {
303260 return _writeElement2 (this ) ?? element;
304261 }
0 commit comments