Skip to content

Commit c054056

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Lint. Disallow 'declaredElement' from src/dart/element/element.dart
Also enable the lint for analyzer/. Change-Id: I2c9e61c6427f5e59b936f1ee7f5f94d4584f2988 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/392851 Commit-Queue: Konstantin Shcheglov <[email protected]> Reviewed-by: Phil Quitslund <[email protected]>
1 parent e33fad2 commit c054056

File tree

9 files changed

+1309
-38
lines changed

9 files changed

+1309
-38
lines changed

pkg/analysis_server/lib/src/services/correction/dart/create_method_or_function.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import 'package:analysis_server/src/services/correction/util.dart';
77
import 'package:analysis_server/src/utilities/extensions/ast.dart';
88
import 'package:analysis_server_plugin/edit/dart/correction_producer.dart';
99
import 'package:analyzer/dart/ast/ast.dart';
10-
import 'package:analyzer/dart/element/element.dart';
1110
import 'package:analyzer/dart/element/element2.dart';
1211
import 'package:analyzer/dart/element/nullability_suffix.dart';
1312
import 'package:analyzer/dart/element/type.dart';
@@ -133,7 +132,7 @@ class CreateMethodOrFunction extends ResolvedCorrectionProducer {
133132
}
134133

135134
/// Adds proposal for creating method corresponding to the given
136-
/// [FunctionType] in the given [ClassElement].
135+
/// [FunctionType] inside the target element.
137136
Future<void> _createFunction(
138137
ChangeBuilder builder, FunctionType functionType) async {
139138
var name = (node as SimpleIdentifier).name;
@@ -159,7 +158,7 @@ class CreateMethodOrFunction extends ResolvedCorrectionProducer {
159158
}
160159

161160
/// Adds proposal for creating method corresponding to the given
162-
/// [FunctionType] in the given [ClassElement].
161+
/// [FunctionType] inside the target element.
163162
Future<void> _createMethod(
164163
ChangeBuilder builder,
165164
InterfaceElement2 targetClassElement,

pkg/analysis_server/lib/src/services/correction/dart/remove_unused.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,7 @@ class RemoveUnusedElement extends _RemoveUnused {
4040
}
4141

4242
Element2? element;
43-
if (LocalFunctionDeclarationView.of(node) case var localFunction?) {
44-
element = localFunction.declaredElement;
45-
} else if (node is FragmentDeclaration) {
43+
if (node is FragmentDeclaration) {
4644
element = node.declaredFragment?.element;
4745
}
4846
if (element == null) {

pkg/analysis_server/lib/src/utilities/import_analyzer.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'package:analysis_server/src/utilities/extensions/object.dart';
66
import 'package:analyzer/dart/analysis/results.dart';
77
import 'package:analyzer/dart/ast/ast.dart';
88
import 'package:analyzer/dart/ast/visitor.dart';
9-
import 'package:analyzer/dart/element/element.dart';
109
import 'package:analyzer/dart/element/element2.dart';
1110
import 'package:analyzer/source/source_range.dart';
1211
import 'package:collection/collection.dart';
@@ -308,7 +307,7 @@ class _ReferenceFinder extends RecursiveAstVisitor<void> {
308307
super.visitTopLevelVariableDeclaration(node);
309308
}
310309

311-
/// Finds the [LibraryImportElement] that is used to import [element] for use
310+
/// Finds the [LibraryImport] that is used to import [element] for use
312311
/// in [node].
313312
LibraryImport? _getImportForElement(AstNode? node, Element2 element) {
314313
var prefix = _getPrefixFromExpression(node)?.name3;

pkg/analyzer/analysis_options.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ analyzer:
4646
linter:
4747
rules:
4848
- always_use_package_imports
49+
- analyzer_use_new_elements
4950
- avoid_dynamic_calls
5051
- avoid_redundant_argument_values
5152
- avoid_unused_constructor_parameters

0 commit comments

Comments
 (0)