Konstantin Shcheglov
2ec47ad273
Use ElementKind.ENUM for enums.
...
There was a crash internally, caused by the fact that when we have
duplicate name for class and enum, during linking we put them into
different Reference bucket - @class and @enum, and also inside
the class, the reference to its name is the class.
But when we resolve, we check equality of elements using not
references, but locations. So, we need to make sure that their
kinds are also different, so go into different bucket, and so
not equal.
When they are InterfaceType and equal, we would try to match
type arguments against the wrong number of type parameters and crash.
Change-Id: Iee3f8691adac65d4b0395ceec7fc7250f96afa88
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152404
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-06-25 00:20:31 +00:00
Parker Lougheed
47ee7cc316
Remove outdated TODOs related to undesired Element APIs
...
Change-Id: I7c9bc45ee0e3efd5897da20e8d9555f5c2a1e91a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148984
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-05-26 19:02:25 +00:00
Brian Wilkerson
dc37860209
Change the element kind used for relevance computations
...
We used to be somewhat inconsistent about the choice of element kind for
top-level variables, getters and setters and fields, getters and setters
in classes, mixins and extensions. We no longer use GETTER and SETTER as
kinds, using FIELD and TOP_LEVEL_VARIABLE everywhere. This makes some
cases better and some worse, but improves the overall score across all
the completions in our metrics.
Change-Id: Idd0b10b3afe6023ecf39930b6a09abf28b3232bd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148883
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-05-24 19:21:18 +00:00
Brian Wilkerson
cea45271b3
Convert about half of LocalReferenceContributor to use the SuggestionBuilder
...
I'm planning on converting the rest of the class in the next CL, but
thought that a combined CL would be too large.
Change-Id: Ic18ead8285019791053f696daee0b5182c4740de
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145600
Reviewed-by: Jaime Wren <jwren@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-04-30 16:58:57 +00:00
Brian Wilkerson
8969b1839c
Enable omit_local_variable_types in analysis_server
...
Change-Id: I7e5c13d40fd276854601681fc84be321e6031b10
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141583
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-03-30 03:58:44 +00:00
Brian Wilkerson
f60536c194
Enable slash_for_doc_comments in analysis_server
...
Change-Id: Id2734d4c9ce591c5746bb9aa55810c78183db38f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135940
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-02-14 17:17:17 +00:00
Konstantin Shcheglov
850ca2d410
Add Element.getDisplayString(withNullability), use it in analyzer.
...
R=brianwilkerson@google.com
Change-Id: Ic4924e19612f2a7713f9a3f2059a880ebff9d2db
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129983
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-01-01 19:01:14 +00:00
Brian Wilkerson
4043a6fce3
Remove unnecessary uses of new in analysis_server
...
Other than analysis_options.yaml, all of the changes were from running
dartfix.
Change-Id: I92411642f12a00fc6bd0bfd24dd60fe67f0fed16
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128845
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2019-12-18 19:01:51 +00:00
Konstantin Shcheglov
fb362b54a7
Stop using FunctionTypeAliasElement.parameters/returnType in analyzer.
...
The goal is to stop implementing FunctionTypedElement in
FunctionTypeAliasElement, and keep only TypeParameterizedElement.
For some time we will have to keep implementing TypeDefiningElement, it
is used currently as a marker for top-level declarations.
Change-Id: I0062aaa66861a4d7dd5337eb9a44338ad49f5901
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123545
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2019-10-30 21:36:33 +00:00
Konstantin Shcheglov
9776e3699f
Tests and fixes for searching extensions and extension members.
...
R=brianwilkerson@google.com
Change-Id: I6fda5fd473f9a215d29024eb315af702a11bce42
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112931
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2019-08-14 01:36:46 +00:00
Konstantin Shcheglov
6a4d805df4
Implement 'Import Library' quick fix using DeclarationsTracker.
...
This reverts commit 143e5ef556 .
Change-Id: I3c575ff690fd8c8d93a90e50a451a6ec993c4164
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111305
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-07-31 22:14:21 +00:00
Konstantin Shcheglov
143e5ef556
Revert 'Import Library' quick fix changes.
...
This basically reverts https://dart-review.googlesource.com/c/sdk/+/103921
because internally IntelliJ does not provide module dependencies yet.
Change-Id: I7717b2841bf3d6391b991875a594c6df9e246ff1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106482
Reviewed-by: Ari Aye <ariaye@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2019-06-18 17:31:56 +00:00
Konstantin Shcheglov
a332c414f1
Switch server to using DeclarationsTracker for 'Import Library' quick fixes.
...
We need this to stop using UnlinkedUnit with summary2.
R=brianwilkerson@google.com , paulberry@google.com
Change-Id: Iaca2f19e6a168818e171f09e6eeda71a75854232
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103921
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-05-29 16:45:32 +00:00
Brian Wilkerson
af0fa108da
Add support for required named parameters
...
Change-Id: Iebfd8da18c6f2158ed39043ab116e2670a7329c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99717
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2019-04-19 19:25:01 +00:00
Brian Wilkerson
47e988b781
Clean up the remaining copyright notices in analysis_server
...
Change-Id: Iee3110f92ab0f24312ddd1eff407d2229f895321
Reviewed-on: https://dart-review.googlesource.com/c/89101
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2019-01-11 15:38:56 +00:00
Konstantin Shcheglov
c91a245e30
Use ChangeWorkspace to limit where DartChangeBuilder(s) can edit.
...
R=brianwilkerson@google.com
Bug: https://github.com/dart-lang/sdk/issues/35402
Change-Id: If5f78b44b69f01d9ddc235401f70cc4aefd3ca37
Reviewed-on: https://dart-review.googlesource.com/c/87382
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-12-14 22:32:35 +00:00
Konstantin Shcheglov
da191665aa
Issue 34709. Support generic type alias (AKA generic function type alias for now) in outline and completion.
...
R=brianwilkerson@google.com
Bug: https://github.com/dart-lang/sdk/issues/34709
Change-Id: Ic18d98e07ba0cbd231ded27c4c32533ee013632b
Reviewed-on: https://dart-review.googlesource.com/c/84320
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-11-13 21:20:08 +00:00
Brian Wilkerson
298d22f4ab
remove async parse method
...
Change-Id: I7a2e633b43283221790fb88a12065fed3dcdabb7
Reviewed-on: https://dart-review.googlesource.com/c/82120
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-10-30 19:26:00 +00:00
Konstantin Shcheglov
5b1641432d
Create CorrectionUtils only for ResolveResult.
...
So, it is always self-consistent, never ask AnalysisContext for the
unit file content.
R=brianwilkerson@google.com , paulberry@google.com
Change-Id: I93e71f7f8fa577b8e123c91252f3038a50cdccef
Reviewed-on: https://dart-review.googlesource.com/c/81580
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-10-26 14:04:12 +00:00
Konstantin Shcheglov
20d81452e5
Remove AstProvider, use AnalysisSessionHelper.
...
This is a step toward making CorrectionUtils constructor accept full
ResolveResult, instead of partial (and potentially inconsistent) unit
and AnalysisContext.
R=brianwilkerson@google.com , paulberry@google.com
Change-Id: Ic386d48af2d00ecaf9ef13b8480e7e78c7d52efc
Reviewed-on: https://dart-review.googlesource.com/c/81382
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-10-25 19:09:11 +00:00
Brian Wilkerson
b35e717fae
Clean up the fix processor hierarchy
...
Change-Id: I2ca593397f061aa1cb0d91c98874451c8f53a206
Reviewed-on: https://dart-review.googlesource.com/c/80841
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-10-19 16:21:23 +00:00
danrubel
5c1a40837e
Update analyzer fix sorting by priority
...
Change-Id: I23dd4c8125c47de9e0c16cde1c43908f18649e6e
Reviewed-on: https://dart-review.googlesource.com/c/79601
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-10-17 02:16:02 +00:00
Brian Wilkerson
ce8a5ffab2
Remove remaining definitions of EMPTY_LIST in server
...
Change-Id: Ia7a9286f2fc7e151f99091169635b71fde88649a
Reviewed-on: https://dart-review.googlesource.com/77421
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-10-01 15:42:55 +00:00
Konstantin Shcheglov
1bceca91b0
Remove the 'name' constructor parameter from CompilationUnitElementImpl()
...
It costed us about 1.2% of total analysis time.
The whole information about a unit is available in its Source.
R=brianwilkerson@google.com
Change-Id: Iffa253d1eae1a466c10766f66c6c677e19be124a
Reviewed-on: https://dart-review.googlesource.com/77220
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-09-28 21:53:24 +00:00
Konstantin Shcheglov
7cf078c05d
Index and search for mixins.
...
R=brianwilkerson@google.com
Change-Id: I5399507dc5a9688ee5944f6554167a6b1e8692b6
Reviewed-on: https://dart-review.googlesource.com/72525
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-08-31 21:38:26 +00:00
Brian Wilkerson
f6d2c2378a
Add awaits in async methods to restore previous semantics
...
Change-Id: I7711cd878a31df0fb0c92572e2256c0a26923640
Reviewed-on: https://dart-review.googlesource.com/59480
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2018-06-08 19:58:07 +00:00
Jaime Wren
ca7d545df8
Follow up on initial fix-all fixes PR, https://dart-review.googlesource.com/c/sdk/+/56220 , adding some assertions and a test.
...
Change-Id: I6e22f8537f616ce2d09247f90bb81fff17eb1b66
Reviewed-on: https://dart-review.googlesource.com/56601
Commit-Queue: Jaime Wren <jwren@google.com >
Reviewed-by: Jaime Wren <jwren@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-05-24 22:29:45 +00:00
Jaime Wren
351d70674d
Initial new union of Dart Analysis Fixes, the initial fix is to remove all unused imports in a file.
...
Change-Id: I259e796b2603234955a1950b2c886e6f08a697bc
Reviewed-on: https://dart-review.googlesource.com/56220
Commit-Queue: Jaime Wren <jwren@google.com >
Reviewed-by: Jaime Wren <jwren@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-05-24 15:23:40 +00:00
Brian Wilkerson
9a7168a2bf
Clean up dead code in quick assist support
...
Change-Id: I983c78a9ad131e5ae35a83abf2f455608b3ae835
Reviewed-on: https://dart-review.googlesource.com/52060
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-04-20 14:23:29 +00:00
Brian Wilkerson
1d159e7c23
Rename annotation testing methods in Element
...
Change-Id: I0f60b9abd3de350e62d89eac0d690a1db40316b7
Reviewed-on: https://dart-review.googlesource.com/45080
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-03-05 17:23:48 +00:00
Brian Wilkerson
5fd560f96b
Add getters to replace ParameterKind
...
Change-Id: I0886c8d032e963857b8054e894ed3343a235b5c2
Reviewed-on: https://dart-review.googlesource.com/44921
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-03-05 14:22:52 +00:00
pq
3dd7eae4c8
Add @required prefix to required params.
...
See: https://github.com/flutter/flutter/issues/10219
Change-Id: If8bd55b5a3557f8c49430079b790727f7ba25217
Reviewed-on: https://dart-review.googlesource.com/41924
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-02-16 00:13:30 +00:00
Konstantin Shcheglov
2cd992663e
Sort assists and fixes by relevance and then by name.
...
We used to get away with sorting just by relevance because the order
of assists and fixes was correct. I think it is time to switch to
sorting. I still would like to keep 'Surround with XXX' ordered in
a specific way, so I'm changing relevance for these assists.
R=brianwilkerson@google.com , devoncarew@google.com
Change-Id: I77f77ec732d70b31c32164759a3ac62dc790e469
Reviewed-on: https://dart-review.googlesource.com/40880
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-02-13 18:18:59 +00:00
pq
1399a5f511
Sort required named params in protocol element parameter list.
...
See: https://github.com/flutter/flutter/issues/10219
I'm VERY open to other approaches. If you deem this too quick and dirty, consider it a conversation starter! :)
I was also a bit unsure of where best to test this so by all means let me know if it should go elsewhere.
Change-Id: Ic4a271d9db7597ae7ee72f5b60728968202f954e
Reviewed-on: https://dart-review.googlesource.com/38346
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-02-05 17:38:25 +00:00
Brian Wilkerson
23bcc17a61
Use the NavigationCollector from analyzer_plugin to avoid duplication
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/3002253002 .
2017-08-25 07:25:16 -07:00
Brian Wilkerson
e8b617217f
Remove most of the remaining references to AnalysisContext
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/3007493002 .
2017-08-23 12:57:09 -07:00
Brian Wilkerson
b941f148a7
Remove uses of the old plugin model from the analysis server
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/3001413002 .
2017-08-23 07:42:13 -07:00
Brian Wilkerson
7bd9e6c443
Add a mixin for assists similar to that for fixes
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2956353002 .
2017-06-28 11:44:22 -07:00
Brian Wilkerson
6248e7cab2
Add support code to make fixes easier in plugins
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2962903002 .
2017-06-28 10:52:06 -07:00
Brian Wilkerson
55d735911b
Remove the unused operations queue
...
R=devoncarew@google.com
Review-Url: https://codereview.chromium.org/2957643002 .
2017-06-23 09:04:13 -07:00
Brian Wilkerson
a420a1fbb5
Remove more dead code from analysis server
...
R=devoncarew@google.com
Review-Url: https://codereview.chromium.org/2949103003 .
2017-06-22 08:21:03 -07:00
Brian Wilkerson
0929b7736e
Convert quick assist support to use AnalysisDriver
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2899843002 .
2017-05-22 13:45:55 -07:00
Brian Wilkerson
7e47a24c8a
Convert quick fix support to use AnalysisDriver
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2894403003 .
2017-05-22 10:41:57 -07:00
Brian Wilkerson
a6214b3129
Remove more libraries directives from server
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2894883002 .
2017-05-19 08:42:30 -07:00
Brian Wilkerson
fb982f5476
Make server use the common protocol classes
...
R=danrubel@google.com
Review-Url: https://codereview.chromium.org/2879273002 .
2017-05-15 09:35:46 -07:00
Brian Wilkerson
d2bbfb4f77
Make an AstProvider available to AssistProcessors
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2862143003 .
2017-05-05 09:24:30 -07:00
Brian Wilkerson
e55812a3f2
Unify the server and plugin versions of the generators
...
R=devoncarew@google.com
Review-Url: https://codereview.chromium.org/2844273003 .
2017-04-28 07:46:29 -07:00
Steve Messick
4a2cca3a52
Add getStatementCompletion to the API spec
...
R=brianwilkerson@google.com , scheglov@google.com
Review-Url: https://codereview.chromium.org/2784673003 .
2017-03-30 10:13:21 -07:00
Devon Carew
a231501692
Format generated files.
...
BUG=
R=brianwilkerson@google.com , jacobr@google.com
Review-Url: https://codereview.chromium.org/2765953002 .
2017-03-21 15:54:16 -07:00
Jacob Richman
a993294503
Format all analyzer packages
...
BUG=
R=brianwilkerson@google.com
Review-Url: https://codereview.chromium.org/2753923003 .
2017-03-16 16:11:43 -07:00