Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(440)

Issue 2478963002: Completion with the new analysis driver. (Closed)

Created:
4 years, 1 month ago by scheglov
Modified:
4 years, 1 month ago
CC:
reviews_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Completion with the new analysis driver. It works for top-levels, fields, locals, prefixed expressions. Integration is not the most efficient - we resolve the full unit. It works fine for files with about 1000 lines, about 50-70 ms. We could slightly improve timing if we prioritize completion over navigation and highlight notifications, which are currently prepared and sent before completion. In giant files like src/dart/element/element.dart, about 8500 lines, it takes about 400 ms from typing to receiving completion. The theoretical bottom bound for such files is about 70 ms - time that it required to parse, create unlinked bundle, ensure that the API signature is the same, load linked bundles and prepare to resynthesize. On top of this goes any time required to resolve a single method and completion itself. R=brianwilkerson@google.com, paulberry@google.com BUG= Committed: https://github.com/dart-lang/sdk/commit/fc30904a397611e1fd8b991f5a4d38e4150439f4

Patch Set 1 #

Total comments: 6

Patch Set 2 : Fixes for review comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+203 lines, -126 lines) Patch
M pkg/analysis_server/lib/src/analysis_server.dart View 1 2 chunks +4 lines, -2 lines 0 comments Download
M pkg/analysis_server/lib/src/domain_completion.dart View 1 5 chunks +55 lines, -30 lines 0 comments Download
M pkg/analysis_server/lib/src/provisional/completion/completion_core.dart View 1 2 chunks +7 lines, -0 lines 0 comments Download
M pkg/analysis_server/lib/src/services/completion/completion_core.dart View 4 chunks +15 lines, -5 lines 0 comments Download
M pkg/analysis_server/lib/src/services/completion/dart/common_usage_sorter.dart View 1 chunk +18 lines, -12 lines 0 comments Download
M pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart View 6 chunks +52 lines, -30 lines 0 comments Download
M pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart View 1 1 chunk +15 lines, -16 lines 0 comments Download
M pkg/analysis_server/test/domain_completion_test.dart View 5 chunks +9 lines, -9 lines 0 comments Download
M pkg/analysis_server/test/domain_completion_util.dart View 3 chunks +26 lines, -22 lines 0 comments Download
M pkg/analysis_server/test/services/completion/dart/completion_contributor_util.dart View 1 chunk +1 line, -0 lines 0 comments Download
M pkg/analysis_server/test/services/completion/dart/completion_manager_test.dart View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 6 (1 generated)
scheglov
4 years, 1 month ago (2016-11-05 04:35:13 UTC) #1
Paul Berry
lgtm https://codereview.chromium.org/2478963002/diff/1/pkg/analysis_server/lib/src/provisional/completion/completion_core.dart File pkg/analysis_server/lib/src/provisional/completion/completion_core.dart (right): https://codereview.chromium.org/2478963002/diff/1/pkg/analysis_server/lib/src/provisional/completion/completion_core.dart#newcode74 pkg/analysis_server/lib/src/provisional/completion/completion_core.dart:74: AnalysisResult get result; Document this public getter. https://codereview.chromium.org/2478963002/diff/1/pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart ...
4 years, 1 month ago (2016-11-06 13:25:36 UTC) #2
Brian Wilkerson
lgtm https://codereview.chromium.org/2478963002/diff/1/pkg/analysis_server/lib/src/domain_completion.dart File pkg/analysis_server/lib/src/domain_completion.dart (right): https://codereview.chromium.org/2478963002/diff/1/pkg/analysis_server/lib/src/domain_completion.dart#newcode142 pkg/analysis_server/lib/src/domain_completion.dart:142: if (server.options.enableNewAnalysisDriver) { How are the error conditions ...
4 years, 1 month ago (2016-11-06 17:54:02 UTC) #3
scheglov
https://codereview.chromium.org/2478963002/diff/1/pkg/analysis_server/lib/src/domain_completion.dart File pkg/analysis_server/lib/src/domain_completion.dart (right): https://codereview.chromium.org/2478963002/diff/1/pkg/analysis_server/lib/src/domain_completion.dart#newcode142 pkg/analysis_server/lib/src/domain_completion.dart:142: if (server.options.enableNewAnalysisDriver) { On 2016/11/06 17:54:02, Brian Wilkerson wrote: ...
4 years, 1 month ago (2016-11-06 18:45:33 UTC) #4
scheglov
4 years, 1 month ago (2016-11-06 18:45:53 UTC) #6
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as
fc30904a397611e1fd8b991f5a4d38e4150439f4 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698