Skip to content

Commit 5d6dc67

Browse files
bwilkersonCommit Queue
authored andcommitted
Make nodeCovering a method on CompilationUnitImpl rather than an extension method
This allows us to traverse the children without needing to create lists. It also allows us to iterate over lists of nodes more efficiently. Tested against the script that computes fixes for 10,000 diagnostics, I'm seeing the following result. Before this CL the average time was 10692.4 ms. After this CL the average time was 1900.0 ms. That's just over an 82% improvement. Change-Id: Ideff745288c8990e9948b22c5204d176af3cac6e Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/426904 Reviewed-by: Konstantin Shcheglov <[email protected]> Commit-Queue: Brian Wilkerson <[email protected]>
1 parent 4b4e3f4 commit 5d6dc67

File tree

51 files changed

+2248
-553
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+2248
-553
lines changed

pkg/analysis_server/lib/src/analysis_server.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ import 'package:analyzer/src/generated/sdk.dart';
7878
import 'package:analyzer/src/util/file_paths.dart' as file_paths;
7979
import 'package:analyzer/src/util/performance/operation_performance.dart';
8080
import 'package:analyzer/src/utilities/extensions/analysis_session.dart';
81-
import 'package:analyzer/utilities/extensions/ast.dart';
8281
import 'package:analyzer_plugin/protocol/protocol.dart';
8382
import 'package:analyzer_plugin/src/protocol/protocol_internal.dart'
8483
as analyzer_plugin;

pkg/analysis_server/lib/src/cider/rename.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import 'package:analyzer/src/generated/java_core.dart';
1818
import 'package:analyzer/src/utilities/extensions/collection.dart';
1919
import 'package:analyzer/src/utilities/extensions/element.dart';
2020
import 'package:analyzer/src/utilities/extensions/flutter.dart';
21-
import 'package:analyzer/utilities/extensions/ast.dart';
2221

2322
class CanRenameResponse {
2423
final LineInfo lineInfo;

pkg/analysis_server/lib/src/computer/computer_call_hierarchy.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import 'package:analyzer/dart/element/element.dart';
1111
import 'package:analyzer/source/source_range.dart';
1212
import 'package:analyzer/src/dart/ast/element_locator.dart';
1313
import 'package:analyzer/src/dart/element/element.dart';
14-
import 'package:analyzer/utilities/extensions/ast.dart';
1514

1615
/// Returns the container for [element] that should be used in Call Hierarchy.
1716
///

pkg/analysis_server/lib/src/computer/computer_hover.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import 'package:analyzer/dart/element/element.dart';
1111
import 'package:analyzer/dart/element/type.dart';
1212
import 'package:analyzer/src/dart/ast/element_locator.dart';
1313
import 'package:analyzer/src/dartdoc/dartdoc_directive_info.dart';
14-
import 'package:analyzer/utilities/extensions/ast.dart';
1514
import 'package:path/path.dart' as path;
1615

1716
/// Information about a library to display in a hover.

pkg/analysis_server/lib/src/computer/computer_lazy_type_hierarchy.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import 'package:analyzer/dart/element/element.dart';
1313
import 'package:analyzer/dart/element/type.dart';
1414
import 'package:analyzer/source/source_range.dart';
1515
import 'package:analyzer/src/dart/element/element.dart';
16-
import 'package:analyzer/utilities/extensions/ast.dart';
1716

1817
/// A lazy computer for Type Hierarchies.
1918
///

pkg/analysis_server/lib/src/computer/computer_selection_ranges.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// BSD-style license that can be found in the LICENSE file.
44

55
import 'package:analyzer/dart/ast/ast.dart';
6-
import 'package:analyzer/utilities/extensions/ast.dart';
76

87
/// Computes selection ranges for a specific offset of a Dart [CompilationUnit].
98
///

pkg/analysis_server/lib/src/computer/computer_signature.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import 'package:analyzer/dart/element/element.dart';
1010
import 'package:analyzer/dart/element/type.dart';
1111
import 'package:analyzer/src/dart/ast/element_locator.dart';
1212
import 'package:analyzer/src/dartdoc/dartdoc_directive_info.dart';
13-
import 'package:analyzer/utilities/extensions/ast.dart';
1413

1514
/// A computer for the signature at the specified offset of a Dart
1615
/// [CompilationUnit].

pkg/analysis_server/lib/src/computer/computer_type_arguments_signature.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import 'package:analyzer/dart/ast/ast.dart';
1010
import 'package:analyzer/dart/element/element.dart';
1111
import 'package:analyzer/src/dart/ast/element_locator.dart';
1212
import 'package:analyzer/src/dartdoc/dartdoc_directive_info.dart';
13-
import 'package:analyzer/utilities/extensions/ast.dart';
1413

1514
/// A computer for the signature help information about the type parameters for
1615
/// the [TypeArgumentList] surrounding the specified offset of a Dart

pkg/analysis_server/lib/src/handler/legacy/edit_get_available_refactorings.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import 'package:analysis_server/src/handler/legacy/legacy_handler.dart';
99
import 'package:analysis_server/src/services/refactoring/legacy/refactoring.dart';
1010
import 'package:analysis_server/src/utilities/extensions/ast.dart';
1111
import 'package:analyzer/dart/element/element.dart';
12-
import 'package:analyzer/utilities/extensions/ast.dart';
1312
import 'package:analyzer_plugin/protocol/protocol_common.dart';
1413

1514
/// The handler for the `edit.getAvailableRefactorings` request.

pkg/analysis_server/lib/src/lsp/handlers/code_actions/dart.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import 'package:analyzer/dart/analysis/session.dart'
2929
show InconsistentAnalysisException;
3030
import 'package:analyzer/dart/element/element.dart';
3131
import 'package:analyzer/src/util/performance/operation_performance.dart';
32-
import 'package:analyzer/utilities/extensions/ast.dart';
3332

3433
/// Produces [CodeActionLiteral]s from Dart source commands, fixes, assists and
3534
/// refactors from the server.

0 commit comments

Comments
 (0)