Mike Fairhurst
fbfe5691cb
Change completionTarget.forOffset to accept & wrap dangling AstNodes.
...
Deprecate the entryPoint parameter, but still accept it in place of what
used to be (positionally) compilationUnit.
Detect if we have a compilation unit or not; and in the case we don't,
add a new protection by asserting that it has no parent (its the root of
the dangling tree).
Its more of an implementation detail that completion contributors don't
work well on dangling nodes, so fix it up for clients rather than
expecting them to do it themselves.
Change-Id: I3e454734e5b515f4e536f7229d541ca8c6aed60c
Reviewed-on: https://dart-review.googlesource.com/52645
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Mike Fairhurst <mfairhurst@google.com >
2018-04-26 20:32:27 +00:00
Paul Berry
88099ffcc3
Stop importing front_end into analyzer_plugin.
...
The symbols we previously needed (SyntheticBeginToken and
SyntheticToken) are now exported from the analyzer as of
dc21d3ce9d .
Change-Id: I5d0901c544fed0983d45c1da1dccfd5659a7777c
Reviewed-on: https://dart-review.googlesource.com/52821
Reviewed-by: Mike Fairhurst <mfairhurst@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2018-04-26 19:12:46 +00:00
Janice Collins
1afe71c08a
Enable preview-dart-2 as default for analyzer.
...
Based on https://dart-review.googlesource.com/c/sdk/+/52340 , but adds
the necessary plumbing through the test system to pass through
negations to strong and preview-dart-2. Also adds support for those
negations to the analyzer.
Change-Id: I9793ff28bb593d25bbb0a2ed8736b5b53e0a62d8
Reviewed-on: https://dart-review.googlesource.com/52461
Commit-Queue: Janice Collins <jcollins@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-04-26 17:01:12 +00:00
Mike Fairhurst
4bf738606b
Fix (+test) dangling expression autocompletion for angular
...
Change-Id: If35f998eb7fe38f21e30bfba3d87c507c07ebc7c
Reviewed-on: https://dart-review.googlesource.com/52522
Commit-Queue: Mike Fairhurst <mfairhurst@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2018-04-24 22:04:13 +00:00
Brian Wilkerson
7054d92a02
Remove some classes from the analyzer public API
...
Change-Id: Ic53a8426818b06f44c2876abd16c789589bf78b5
Reviewed-on: https://dart-review.googlesource.com/52421
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-04-24 15:28:15 +00:00
Konstantin Shcheglov
9976cddcd7
Shared cache of FileState contents.
...
This makes Flutter repo analysis about 12% faster.
R=brianwilkerson@google.com , devoncarew@google.com
Base: 76.2 74.9 75.9
After: 65.6 66.0 66.6 67.1
Change-Id: I5afffdae15eacf2c09c4ede40d7312c8827bae0c
Reviewed-on: https://dart-review.googlesource.com/51061
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Devon Carew <devoncarew@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-04-13 16:43:36 +00:00
Brian Wilkerson
d3295ded48
Remove the SORT_MEMBERS refactoring from the spec
...
Change-Id: Ic8b8135f22d8c3c07d4ded661ac43d2d5105dc3f
Reviewed-on: https://dart-review.googlesource.com/48464
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-03-27 16:37:44 +00:00
Konstantin Shcheglov
6bd38cc912
Analysis Server API for 'Extract Widget' refactoring.
...
R=brianwilkerson@google.com
Change-Id: Ie6b7c349d304785ab6829770ebd3504c0affe8df
Reviewed-on: https://dart-review.googlesource.com/47943
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-03-22 20:25:29 +00:00
Konstantin Shcheglov
9f0e391e28
Rename writeParameterSource() to writeParameter() and make 'type' optional.
...
R=brianwilkerson@google.com
Change-Id: I0658a642f5877ba2c3e8e69e173fb9cfba4ef719
Reviewed-on: https://dart-review.googlesource.com/47584
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-03-21 21:00:19 +00:00
Konstantin Shcheglov
15bf72615d
Fix for using isFinal/isConst with type in writeFieldDeclaration().
...
R=brianwilkerson@google.com
Change-Id: I73ae0f2e714b2820e327e9a9e5a98baf5a2df189
Reviewed-on: https://dart-review.googlesource.com/47560
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-03-21 19:18:56 +00:00
Brian Wilkerson
b15860f43a
Convert analyzer_plugin tests to pass under preview-dart-2
...
Change-Id: I4531491524de0e93391a75a3972f249d604f0e2b
Reviewed-on: https://dart-review.googlesource.com/46568
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-03-15 16:54:59 +00:00
Konstantin Shcheglov
e1909cb52a
Update Outline protocol - change offset/length, add codeOffset/codeLength.
...
R=brianwilkerson@google.com
Change-Id: I4b5c03a21254f7c497adc4c043641b18599c5c39
Reviewed-on: https://dart-review.googlesource.com/45764
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-03-09 01:52:57 +00:00
Brian Wilkerson
602a8c2a7b
Clean up usage of deprecated constants
...
Change-Id: I9005ba6e94529e15d8f7b21322591f4a9dabec47
Reviewed-on: https://dart-review.googlesource.com/45763
Commit-Queue: William Hesse <whesse@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2018-03-09 01:02:49 +00:00
Brian Wilkerson
f5b5ae86b6
Respect comments when inserting imports (issue 32432)
...
Change-Id: I163818e60e21ee68bd621b8faa94b7ba9b545bcf
Reviewed-on: https://dart-review.googlesource.com/45526
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2018-03-07 20:47:42 +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
3d183f6999
Add support for selection ranges to ChangeBuilder
...
Change-Id: Icd4c1bcf2ecb66020a9a7f478a037c478e8a109f
Reviewed-on: https://dart-review.googlesource.com/42024
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-02-16 19:23:06 +00:00
Brian Wilkerson
0501c740ac
Member overrides invoke the overridden member and the display label uses ellipses
...
Change-Id: I9cb2db1514a8a2798cb3ec69d3d71047573a8dd4
Reviewed-on: https://dart-review.googlesource.com/41903
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Phil Quitslund <pquitslund@google.com >
2018-02-16 14:12:27 +00:00
pq
35221ce1fc
Override completion displayText implementation.
...
Change-Id: If19ccb00145ec4befec2be575af48709f122b511
Reviewed-on: https://dart-review.googlesource.com/40510
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-02-13 19:15:26 +00:00
Konstantin Shcheglov
7cffd55c41
Don't suggest anything right after double or integer literals.
...
R=brianwilkerson@google.com , danrubel@google.com
Change-Id: Ib8b9091daedb1e1921ae3c454e83a5b96d94a71a
Reviewed-on: https://dart-review.googlesource.com/40471
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2018-02-12 01:18:35 +00:00
Konstantin Shcheglov
456890cd2c
Enable completion in AssertInitializer.
...
R=brianwilkerson@google.com , danrubel@google.com
Bug: https://github.com/flutter/flutter-intellij/issues/1101
Change-Id: Id17a701cac0e98afc373cf89089916cf5f983cff
Reviewed-on: https://dart-review.googlesource.com/40472
Reviewed-by: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-02-12 01:01:31 +00:00
pq
06614a7b19
Proposed API for optionally building override cc displayText.
...
Change-Id: Ic3ea3317da1220c7d396348ae93e40ab672ecc59
Reviewed-on: https://dart-review.googlesource.com/40500
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-02-11 18:01:13 +00:00
pq
a4ecc44c30
Completion protocol API for overrides.
...
Proposed API to allow IDEs to ask a suggestion for a displayText which may differ from the value to insert (the completion).
Also, adds a new OVERRIDE suggestion kind.
See: https://youtrack.jetbrains.com/issue/WEB-31130
Change-Id: Ic0644308d746ac7771bc27bc2ff2789444733af3
Reviewed-on: https://dart-review.googlesource.com/40101
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-02-09 17:57:17 +00:00
Konstantin Shcheglov
ffd67154f7
Add a new optional field - 'id' to SourceChange.
...
R=brianwilkerson@google.com
Change-Id: Ibe85415be35982327593ffd1187ec74b1d037463
Reviewed-on: https://dart-review.googlesource.com/40102
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-02-08 20:13:11 +00:00
Konstantin Shcheglov
f6febf35b1
Don't write EOLs before/after new class members.
...
R=brianwilkerson@google.com
Change-Id: Ie70423802985fc762fea2cb55a2936a3e3f3add0
Reviewed-on: https://dart-review.googlesource.com/39851
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-02-08 00:40:11 +00:00
Brian Wilkerson
39448ff521
Improve creation of overriding methods (issues 30730 and 30759)
...
Change-Id: I96a06f6ad2646d4590804c2e5d8d7f6ab95dbd74
Reviewed-on: https://dart-review.googlesource.com/39844
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-02-07 22:16:00 +00:00
Lasse R.H. Nielsen
6f78471687
New methods on Iterable, List, Set, Queue, Map.
...
Changes signature of Iterable.singleWhere.
Makes LinkedHashMap no longer be a HashMap.
Change-Id: I7a12fea533d42b0fc8357086649df38ad01f3cdd
Reviewed-on: https://dart-review.googlesource.com/39140
Commit-Queue: Leaf Petersen <leafp@google.com >
Reviewed-by: William Hesse <whesse@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
2018-02-07 06:12:53 +00:00
William Hesse
9c35cff5cd
Revert "New methods on Iterable, List, Set, Queue, Map."
...
This reverts commit 0b59f24f97 .
Reason for revert: Creates crashes in dart2js with kernel, see
https://luci-milo.appspot.com/buildbot/client.dart/dart2js-linux-d8-minified-1-5-be/9751
Original change's description:
> New methods on Iterable, List, Set, Queue, Map.
> Changes signature of Iterable.singleWhere.
> Makes LinkedHashMap no longer be a HashMap.
>
> Change-Id: Ibd7e56e1ac03cb9fb10d19d1328d452fcd06d89f
> Reviewed-on: https://dart-review.googlesource.com/32541
> Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
> Reviewed-by: Leaf Petersen <leafp@google.com >
TBR=lrn@google.com ,leafp@google.com
Change-Id: Iab904f5885a5213ae2e16ef496eed0b6843185f3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/39060
Reviewed-by: William Hesse <whesse@google.com >
2018-02-06 13:32:19 +00:00
Lasse R.H. Nielsen
0b59f24f97
New methods on Iterable, List, Set, Queue, Map.
...
Changes signature of Iterable.singleWhere.
Makes LinkedHashMap no longer be a HashMap.
Change-Id: Ibd7e56e1ac03cb9fb10d19d1328d452fcd06d89f
Reviewed-on: https://dart-review.googlesource.com/32541
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
2018-02-06 11:17:46 +00:00
Brian Wilkerson
740a0e751e
Rework part of DartChangeBuilder to deal better with type parameters (issue 31199)
...
Change-Id: I1946e6070c0dcffaa02f61b9c7f857168a050a27
Reviewed-on: https://dart-review.googlesource.com/38483
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2018-02-05 18:21:36 +00:00
Brian Wilkerson
0916cca7d2
Do not convert return type of enclosing function when adding async to nested closure (issue 30901)
...
Change-Id: I8293b7784f71d4ff7846a0cca6efbfa69847b7da
Reviewed-on: https://dart-review.googlesource.com/37646
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-01-30 21:57:10 +00:00
Dan Rubel
1231e90fee
Code complete identifiers not directly referenced by the analyzer AST
...
The fasta parser sometimes "drops" unexpected tokens during recovery.
When this happens, the dropped or skipped token is not reported to
the listeners, and thus does not become part of the analyzer's AST.
These tokens are still in the token stream, but will not be found
by the existing CompletionTarget mechanism.
For example, the fasta parser parses
'if (v i) {}' as 'if (v) {}' and drops the 'i' token.
This CL introduces a new CompletionTarget.droppedToken field.
If a keyword or identifier has been dropped by the parser,
but overlaps the code completion offset, then that token
is placed into this new field.
In the example above, when code completing the 'i',
the CompletionTarget will now be
containingNode = '(v)'
entity = ')'
droppedToken = 'i'
Change-Id: I15e43529ab4a72de9500c521be278fa13ae68d99
Reviewed-on: https://dart-review.googlesource.com/31285
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2017-12-22 21:55:35 +00:00
Devon Carew
47a861ca85
Add two new element types to the protocol.
...
Bug:
Change-Id: I5a60081d7c8500590bbabb9ee6dce74fa611b0a3
Reviewed-on: https://dart-review.googlesource.com/14883
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2017-10-18 19:02:47 +00:00
Konstantin Shcheglov
455984bbf9
Fix fuzzy arrow warnings in analyzer and analysis_server.
...
There is one warning which I'd like to fix in a separate CL.
The rest is because of package:test predicate().
I think Leaf fixed it in https://github.com/dart-lang/matcher/commit/3625f13698346576da0f5baf44e95abc9c56fb49
R=brianwilkerson@google.com
Bug:
Change-Id: I060f7ced55dbcc460185916251c47ebbd5c838d3
Reviewed-on: https://dart-review.googlesource.com/3404
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2017-09-06 00:26:18 +00:00
Brian Wilkerson
37042bb59b
Add an integration test for kythe support with bug fixes
...
R=jwren@google.com
Review-Url: https://codereview.chromium.org/3006693002 .
2017-08-28 10:07:04 -07:00
Brian Wilkerson
608bf972b0
Add folding support for plugins and update the main tutorial page
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/3004733002 .
2017-08-28 08:05:37 -07:00
Brian Wilkerson
d1a2a43d54
Add plugin support for occurrences (and fix typo)
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/3006703002 .
2017-08-28 08:04:42 -07:00
Brian Wilkerson
dd00fc7750
Add support for highlights notification
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/3004613002 .
2017-08-25 09:21:36 -07:00
Brian Wilkerson
efd4051c7e
Add utilities to support the outline notification
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/3002233002 .
2017-08-24 11:59:06 -07:00
Brian Wilkerson
c6b206a2d9
Clean up after some recent code changes
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/3009513002 .
2017-08-24 10:01:11 -07:00
Brian Wilkerson
e8010e4a44
Enhance NavigationMixin to handle notifications
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/3008443002 .
2017-08-24 07:44:51 -07:00
Brian Wilkerson
0a50effce5
Add minimal support for sending notifications
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/3003573002 .
2017-08-23 13:26:59 -07:00
Brian Wilkerson
ebe2ce681e
Fix ClassElement.allSupertypes to include interfaces of mixins (issue 29767)
...
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/3000183002 .
2017-08-18 07:30:05 -07:00
Brian Wilkerson
6f81034a73
Initial Kythe support for plugins
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2997833002 .
2017-08-14 08:24:15 -07:00
Brian Wilkerson
579a032564
Add kythe support to plugins and format the spec files
...
R=jwren@google.com
Review-Url: https://codereview.chromium.org/2994103002 .
2017-08-10 11:24:40 -07:00
Brian Wilkerson
1abf749b77
Fix more uses of generic method comments and increment the data version (TBR)
...
Review-Url: https://codereview.chromium.org/2996653002 .
2017-08-08 11:27:02 -07:00
Paul Berry
e2f77056a5
Eliminate dependencies on pkg/front_end.
...
The API for pkg/front_end is still in flux so we want to avoid having
any packages depend directly on it (other than analyzer and
back-ends).
This CL re-exports some of the critical pieces of front_end needed by
analyzer clients so that those clients can access them via analyzer,
without having to directly depend on front_end. It also updates
pkg/analyzer_plugin to make use of those re-exports.
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2993123002 .
2017-08-07 09:46:30 -07:00
Brian Wilkerson
8bbf373a5e
Remove the analysus.reanalyze request from the plugin API
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2988743002 .
2017-07-25 12:10:52 -07:00
Brian Wilkerson
8a275e6df8
Add utility method to SubscriptionManager
...
R=mfairhurst@google.com
Review-Url: https://codereview.chromium.org/2983913002 .
2017-07-21 07:24:55 -07:00
Konstantin Shcheglov
00d5012906
Format analyzer, analysis_server, analyzer_plugin, front_end and kernel with the latest dartfmt.
...
...instead of mixing formatting with actual changes in many CLs.
R=ahe@google.com , paulberry@google.com , sigmund@google.com
BUG=
Review-Url: https://codereview.chromium.org/2975253002 .
2017-07-13 16:28:18 -07:00
Konstantin Shcheglov
19265a82b4
Move findElementsByName() into shared analyzer/element_search.dart file.
...
R=brianwilkerson@google.com
BUG=
Review-Url: https://codereview.chromium.org/2965133003 .
2017-07-06 11:51:17 -07:00