Brian Wilkerson
c84b9230cc
Store strings as labels for completion metrics
...
This simplifies the existing code and will simplify the next change I
want to make.
Change-Id: I0acc67655dd78bf380f49cfdf2cb7643c7d595d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135882
Reviewed-by: Jaime Wren <jwren@google.com >
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-02-14 17:58:47 +00:00
Brian Wilkerson
63c8bb7e46
Collect information about the AST structure at completion points
...
There might be a better way to get this information, but if we have a
constructor invocation the identifier is resolved to a class element
rather than a constructor element. This is an attempt to be able to tell
the difference between those two cases.
Change-Id: I6086d53c108686a42162108f764758bb97cffc3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135761
Reviewed-by: Jaime Wren <jwren@google.com >
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-02-13 21:46:18 +00:00
Brian Wilkerson
e75c9192a1
Start converting dartdoc style in analysis_server
...
Change-Id: I013659a0f34dafce4c091dc534e2ab8ef0469217
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135491
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-02-13 15:00:03 +00:00
Brian Wilkerson
86b1b9d03c
Enhance member depth completion metrics
...
This now looks in mixins (which were ignored before) and finds matches
from interfaces, reporting the interfaces separately from the superclass
and mixin chain.
Change-Id: Id5f3379261e1ec184dc347abb371693481b65680
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135528
Reviewed-by: Jaime Wren <jwren@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-02-12 22:16:32 +00:00
Brian Wilkerson
4f6a5811fc
Add json support to completion metrics computation
...
Change-Id: I43e987c946dc5c3b200ced14c132a31cc97b5f29
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135560
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-02-12 21:03:37 +00:00
Brian Wilkerson
680e109ad2
Gather more code completion metrics
...
The code is now gathering both element and token data in several places
where it used to gather only one of the two (using a new utility method).
The metrics are now better labeled to make the output easier to read.
It's also gathering a new metric: the distance between the static type
of a target and the class in which a referenced member is declared.
Change-Id: I566c02b069749221983ec960b8a67b293052bd93
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135400
Reviewed-by: Jaime Wren <jwren@google.com >
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-02-11 23:55:15 +00:00
Brian Wilkerson
7ce78365bf
Remove the old relevance analyzer
...
Change-Id: I8537fafa4997e9470e8b4c3f2a2f5b730ae3aa5f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135360
Reviewed-by: Jaime Wren <jwren@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-02-11 19:55:54 +00:00
Brian Wilkerson
cbc9c47145
An initial attempt to gather metrics to guide ranking of suggestions
...
Change-Id: Ic06466dfe5919cc3a462e35fb6328a02bc795229
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135342
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Phil Quitslund <pquitslund@google.com >
2020-02-11 19:13:54 +00:00
Devon Carew
8f5b1ea9bb
[nnbd preview] general UI improvements to the NNBD preview tool
...
Bug: https://github.com/dart-lang/sdk/issues/40487
Change-Id: I0864720d6a7f9d24a4582bb0034cbcb2875a54fa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134767
Commit-Queue: Devon Carew <devoncarew@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-02-06 23:37:55 +00:00
Jaime Wren
efefe78522
[completion metrics] Add a simple CLI at the start of completion_metrics.dart. This will allow run configurations in IntelliJ hold onto the directory paths instead of being hard coded.
...
Change-Id: I90680e9a867a5dc48f20bfd8fac3ecece6177c3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134740
Commit-Queue: Jaime Wren <jwren@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-02-06 19:00:32 +00:00
Devon Carew
0631e949b2
[migration tool] fail the CI if the generated files haven't been rebuilt
...
Change-Id: I824f8528b5b2bf2efec4121e017d77bab5b6ab60
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134468
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Devon Carew <devoncarew@google.com >
2020-02-05 20:25:39 +00:00
Jaime Wren
5d3c91b68e
Fix the MeanReciprocalRankComputer computation math, the computed MRR computation was not the MRR, follow up tests coming soon.
...
Change-Id: I3ae4486eada3ab41b21190050a7a7a2368432004
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134414
Commit-Queue: Jaime Wren <jwren@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-02-05 19:18:51 +00:00
Devon Carew
f51187a18d
[migration tool] convert the javascript code in the migration tool to dart
...
Change-Id: I5145be275dda77de3c25d80a13812803217d6452
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134403
Commit-Queue: Devon Carew <devoncarew@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-02-04 21:46:08 +00:00
Jaime Wren
270829d7eb
Refactor the CompletionMetricsComputer class into three classes: a subclass and two concrete classes, AbstractCompletionMetricsComputer, CompletionCoverageMetrics and RelevanceAnalyzerMetrics.
...
This change breaks up the lengthy algorithm, and greatly speeds up the Relevance Analyzer tests.
Change-Id: I4273bcabe7399f80aa751c5963a53fa04e1b4d25
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134381
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jaime Wren <jwren@google.com >
2020-02-04 19:34:56 +00:00
Jaime Wren
e5d5434715
Standard output improvement from metrics_util.dart to print "<no counts>" if the counter has no counts.
...
Change-Id: I3d01f539670bb8d57f6b04b16cc4f92aaa2aa1c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134201
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jaime Wren <jwren@google.com >
2020-02-03 22:50:07 +00:00
Jaime Wren
78fe10c3be
Completion metrics change- add missing documentation in the relevance_analyzers.dart file, as well as adding DartCompletionRequest as an input to the analyzers
...
Change-Id: I31c2523252f2574f092b44ec8b67d346804ac856
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134220
Commit-Queue: Jaime Wren <jwren@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-02-03 20:50:26 +00:00
Devon Carew
5f5e1db141
[nnbd tool] move nnbd preview tool resources to individual files
...
Change-Id: I7f3690e34d94e3d7f361b31447a5ae60cf01a1ea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134140
Commit-Queue: Devon Carew <devoncarew@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-02-03 00:38:34 +00:00
Jaime Wren
d772141960
Initial RelevanceAnalyzer support in the completion_metrics.dart algorithm with an initial example implementation of RHSOfAsExpression
...
Change-Id: Icaf3e80cb4d634f5871d576d3344210d631641c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134092
Commit-Queue: Jaime Wren <jwren@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-01-31 21:41:47 +00:00
Brian Wilkerson
bff11ba6ec
Enable always_declare_return_types in analysis_server
...
Change-Id: I9b06753cf552c9f50ea2abd7f3fa5ba9adecb526
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134085
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-01-31 17:45:24 +00:00
Brian Wilkerson
5d7f3093fd
Update the lsp generator to generate return types for all methods
...
Change-Id: Id1a90d770aa772327011ee8ccc7a13f0ca6f8de4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133961
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-01-30 21:43:43 +00:00
Brian Wilkerson
0d3571b52f
Add return types to more methods in analysis_server
...
Change-Id: Ib61c92d65e6170a1b5cd3e3d24affb3a3fa16bb9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133760
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-01-29 20:18:20 +00:00
Jaime Wren
1ec1b4d68b
Completion metrics cleanup for FieldFormalParameters.
...
Change-Id: Id9151e182446ea0cb21141230e0378cc8cd6efa8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133668
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jaime Wren <jwren@google.com >
2020-01-29 17:47:56 +00:00
Jaime Wren
1aea141b6e
In completion_metrics.dart, skip files that have analysis errors
...
Change-Id: Iae95f7370b6dd6725af607bcc794373b675d6914
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133666
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jaime Wren <jwren@google.com >
2020-01-29 17:40:16 +00:00
Jaime Wren
34e271a64b
Don't include library directives in the completion metrics computations.
...
Change-Id: Ic86383ad23a55c92b079f8b55d24ce7c33f29c5f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133681
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jaime Wren <jwren@google.com >
2020-01-29 07:36:02 +00:00
Jaime Wren
b1be0d58a1
completion_metrics.dart change, don't expect completions when the completed token would be a dynamic type.
...
This change improves the number of successful completions from 96.2% to 98.2% on the collection library.
Change-Id: I6dffa3b6ad6c92be482ca0810c1c0aa558fdcbde
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133545
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jaime Wren <jwren@google.com >
2020-01-28 19:25:29 +00:00
Jaime Wren
213c80c5dd
Add a new counter in completion_metrics.dart to count and report the number of each token that was a miss.
...
Change-Id: Id78b1f65b4e75b3321f18be04e0589d521852c12
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133502
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jaime Wren <jwren@google.com >
2020-01-28 17:21:03 +00:00
Jaime Wren
ff1cd53725
completion_metrics.dart improvement with named arguments in method invocations.
...
Named arguments, i.e. the 'foo' in 'method_call(foo: 1)' should not be included, by design, the completion engine won't suggest named arguments already it the source.
This improvement changes the percent of successful completions from 95.4% to 96.2% with the collection package.
Change-Id: I182c09b62acfc28ed3ae852e1c8e500c6a2f4f3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133501
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jaime Wren <jwren@google.com >
2020-01-28 17:12:58 +00:00
Jaime Wren
59e8068169
Introduce and use a new class to compute the mean reciprocal rank after a run of the code completion metrics execution.
...
Change-Id: I72ee7fdc500d6310231b3b03a2722e63feee251a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133439
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jaime Wren <jwren@google.com >
2020-01-28 07:43:37 +00:00
Jaime Wren
c352c6c0b8
Cleanup and refactoring in completion_metrics.dart
...
Change-Id: I46dd8b9f05d44dcb1d3d2f1088b95845427005c2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133428
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Jaime Wren <jwren@google.com >
2020-01-27 19:41:19 +00:00
Brian Wilkerson
9609975262
Update generators to not produce type annotations for variable declarations
...
Change-Id: Ia19c94b430192c606d12449011503d5ca8172feb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133380
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-01-25 16:31:15 +00:00
Brian Wilkerson
9918987c59
Enable prefer_if_null_operators and prefer_spread_collections in analysis_server
...
Change-Id: I14fa2e9a3196be1d5f5d7991104e7363c72b3fe9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133334
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-01-25 16:31:07 +00:00
Brian Wilkerson
3d7dd5bfe0
Remove the notion of required fixes from dartfix and the server
...
Change-Id: I55389e1978d11820142961b5997d2187d1e61bae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132973
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Phil Quitslund <pquitslund@google.com >
2020-01-24 01:05:41 +00:00
Jaime Wren
7fccd778db
Cleanup from a previous PR, additional assertion in Place constructor
...
Change-Id: I77bdc6dabfdaa38357d81ec60d0c88bfd84fb2b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132807
Commit-Queue: Jaime Wren <jwren@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-01-22 18:03:58 +00:00
Jaime Wren
4ad5fab957
Refactor _placementInSuggestionList to not use the dart:math Point class to represent Place, this has been replaced by a new class.
...
Change-Id: I6750667e878e16c816caa80760fd8763bba97ccb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132780
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jaime Wren <jwren@google.com >
2020-01-22 00:13:39 +00:00
Jaime Wren
5d13a11ad7
Counter utility class for printing additional metrics from the completion_metrics.dart file.
...
Change-Id: I7ade0e367bf264b7698f99717da6f956bb01ade7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132683
Commit-Queue: Jaime Wren <jwren@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-01-21 21:49:19 +00:00
Brian Wilkerson
5584c96fde
Enable prefer_single_quotes in analysis_server
...
All of the changes except in the analysis options file are from dartfix.
Change-Id: Icd9bf02ad07f71d1fc365979c7dfe18a792dc595
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132624
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-01-21 17:52:52 +00:00
Brian Wilkerson
7070347bbb
Generate single quoted strings where possible
...
Change-Id: I27546bbfb85f78021e515d00c2531b83b47fc71f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132480
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-01-20 21:52:34 +00:00
Jaime Wren
407cd2bf3b
Completion metric improvement: re-map PREFIX ElementKinds to LIBRARY ElementKinds which are the kinds used by the completion engine.
...
Change-Id: I5f3b81986d993f208dea5a7df3d550bc1486de12
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132445
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jaime Wren <jwren@google.com >
2020-01-20 04:54:11 +00:00
Brian Wilkerson
93ebbe2c7a
Enable use_function_type_syntax_for_parameters in analysis_server
...
Change-Id: I93cddc986c23e53557c647befc92d118b3d6ed43
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132459
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-01-19 17:11:11 +00:00
Jaime Wren
d99624c748
Use available suggestions to get a more complete picture of the actual list being given to clients
...
Change-Id: I59d5a8e4bcd0dd3f8ea2337306571163d0f64405
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132409
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jaime Wren <jwren@google.com >
2020-01-19 16:32:01 +00:00
Jaime Wren
c5cb20dc55
Improve the ExpectedCompletionsVisitor for the getter and setter cases, this improves the number of successful completions to 90.8% from 75.7% for analyzer_cli
...
Change-Id: I9519f0247918bbf237ce6a3fc688b9814169fdfa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132301
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-01-17 17:30:03 +00:00
Jaime Wren
9c6e548512
Error handling in completion_metrics.dart - don't attempt to create an AnalysisContextCollection until we have determined that the included path exists on the machine.
...
Change-Id: I15e2884bfd9e243f0b01081e1c43a929ceaeae1a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132222
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jaime Wren <jwren@google.com >
2020-01-17 00:37:25 +00:00
Jaime Wren
ab2a484bb3
Don't include comment references by default in the completion metrics test.
...
Change-Id: I108d8caff5b1ed7c6dfbb2f7d908891fca698190
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131950
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jaime Wren <jwren@google.com >
2020-01-16 16:02:17 +00:00
Jaime Wren
2b573d65d8
Introduce _doExpectKeywordCompletions in ExpectedCompletionsVisitor
...
Change-Id: If5e2479eb9397dbb5a6ae6f9c3a0838841abeee9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131906
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jaime Wren <jwren@google.com >
2020-01-16 07:06:01 +00:00
Jaime Wren
8826b7e249
Improve the print output from completion_metrics.dart to match the expected input of the Files dialog in IntelliJ.
...
Change-Id: If6ff502a397a35d8937263e4b2ee9c683ed612a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131940
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-01-16 06:50:24 +00:00
Jaime Wren
418707beb6
In completion_metrics.dart, print out line numbers instead of character offsets.
...
Change-Id: Ifc083b5a4938bdc7bbae57e42559f61d6310df33
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131904
Commit-Queue: Jaime Wren <jwren@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-01-15 21:13:14 +00:00
Jaime Wren
b38263736a
Rename a class in pkg/analysis_server/tool/completion_metrics/completion_metrics.dart
...
Change-Id: I6e7cbe671a1030e5a523f1c5085442cce27093a2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131884
Commit-Queue: Jaime Wren <jwren@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-01-15 19:26:13 +00:00
Jaime Wren
b227f19168
Improve the print output from the completion_metrics.dart tool, output for collection is now:
...
Summary for /usr/local/google/home/jwren/github/collection:
Total number of completion tests = 11487
Number of successful completions = 9945 (86.6%)
Number of unsuccessful completions = 1542 (13.4%)
Change-Id: Ie53fdb3be7cac847ac1612a90b93c7eacd72f41d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131846
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jaime Wren <jwren@google.com >
2020-01-15 19:11:24 +00:00
Jaime Wren
bbec798aca
Implement the rest of the visit* methods in pkg/analysis_server/tool/completion_metrics/visitors.dart, members sorted.
...
Change-Id: I763e57740c40051c268b13222b9528f2b15eab1a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131845
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jaime Wren <jwren@google.com >
2020-01-15 18:56:05 +00:00
Jaime Wren
5e42c5a4ad
Special case in completion_metrics.dart, some keyword suggestions come out of the DAS completion engine such as "import '';", instead of "import"
...
Change-Id: I6de32a6a2c770a78a2fd3e1103969b5f2f62f9e1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131716
Commit-Queue: Jaime Wren <jwren@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Phil Quitslund <pquitslund@google.com >
2020-01-15 05:54:44 +00:00