Skip to content

Commit 877d87a

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Migrate src/dart/ast/extensions.dart
Change-Id: Idab6c1ad5538f07f566c778a986b9841e9cd6f6a Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/413041 Reviewed-by: Brian Wilkerson <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent 7d2a27f commit 877d87a

File tree

2 files changed

+13
-56
lines changed

2 files changed

+13
-56
lines changed

pkg/analyzer/lib/src/dart/analysis/session.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
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-
75
import 'package:analyzer/dart/analysis/analysis_context.dart';
86
import 'package:analyzer/dart/analysis/declared_variables.dart';
97
import 'package:analyzer/dart/analysis/results.dart';
@@ -95,6 +93,7 @@ class AnalysisSessionImpl implements AnalysisSession {
9593
return _driver.getParsedLibrary(path);
9694
}
9795

96+
@Deprecated('Use getParsedLibraryByElement2() instead')
9897
@override
9998
SomeParsedLibraryResult getParsedLibraryByElement(LibraryElement element) {
10099
checkConsistency();
@@ -129,6 +128,7 @@ class AnalysisSessionImpl implements AnalysisSession {
129128
return await _driver.getResolvedLibrary(path);
130129
}
131130

131+
@Deprecated('Use getResolvedLibraryByElement2() instead')
132132
@override
133133
Future<SomeResolvedLibraryResult> getResolvedLibraryByElement(
134134
LibraryElement element,

pkg/analyzer/lib/src/dart/ast/extensions.dart

Lines changed: 11 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -2,60 +2,33 @@
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-
75
import 'package:analyzer/dart/ast/syntactic_entity.dart';
86
import 'package:analyzer/dart/ast/token.dart';
9-
import 'package:analyzer/dart/element/element.dart';
107
import 'package:analyzer/dart/element/element2.dart';
118
import 'package:analyzer/dart/element/type.dart';
129
import 'package:analyzer/src/dart/ast/ast.dart';
1310
import 'package:analyzer/src/dart/element/type.dart';
14-
import 'package:analyzer/src/utilities/extensions/element.dart';
1511
import '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
228201
extension 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
297258
extension 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

Comments
 (0)