Commit Graph

2966 Commits

Author SHA1 Message Date
Brian Wilkerson a715f60d51 Guard against race condition
Change-Id: Ie689e8e47559760c5955987005def7aef67e8e09
Reviewed-on: https://dart-review.googlesource.com/6262
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-09-15 21:27:40 +00:00
Brian Wilkerson 8db9995c65 Fix an exception when a package is not defined
Change-Id: Id2469b4e0c4aaa8acb63c0186e7b53ec4acea95d
Reviewed-on: https://dart-review.googlesource.com/5885
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-09-14 19:42:50 +00:00
Konstantin Shcheglov 1b4239d2e4 Export ByteStore and its implementations from front_end.
R=ahe@google.com, paulberry@google.com, sigmund@google.com

Bug:
Change-Id: Ie2e3413a7f143e270cec2bd3ae4564ad7cc315b1
Reviewed-on: https://dart-review.googlesource.com/3840
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-07 19:23:21 +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 28381b8f06 Add completion of keywords in partial field declarations
R=danrubel@google.com

Review-Url: https://codereview.chromium.org/3006033002 .
2017-09-03 13:04:06 -07:00
Brian Wilkerson 0db33f7053 Add fixes for more lints
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/3009063002 .
2017-09-02 15:11:29 -07:00
Brian Wilkerson aab7af12e9 Add fixes for two more lint rules
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/3004293002 .
2017-09-02 15:10:56 -07:00
Jaime Wren 8f1b6d0aab Dart Kythe indexer refactoring to gather all variable declaration logic into one method
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/3004273002 .
2017-09-01 12:12:37 -07:00
P.Y. Laligand 59516d9794 Added an analysis server argument to set the location of the session cache. (#30583) 2017-08-31 10:25:50 -07:00
Brian Wilkerson 170c562ffe Add fixes for two additional lints
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/3007783002 .
2017-08-29 10:18:17 -07:00
Jaime Wren 96ee1d846d Add variable declaration support to the DeclaredIdentifier AST node in the Kythe Dart indexer.
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/3004763002 .
2017-08-28 10:25:26 -07: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 bf259dce6b Remove unused imports missed in earlier CL
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/3010443002 .
2017-08-25 09:22:13 -07:00
Brian Wilkerson c38c97def3 Reduce duplicated code
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/3002303002 .
2017-08-25 08:18:39 -07: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
Devon Carew 13346cab3d Put the analytics UI behind a flag.
BUG=
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/3003783002 .
2017-08-24 11:17:37 -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
danrubel 84a36f1b77 flag to limit file and package URI completion suggestions
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/3003233002 .
2017-08-23 13:39:32 -04:00
Brian Wilkerson e4d44b2dcd Remove more references to the old plugin system
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/3004523003 .
2017-08-23 09:25:07 -07:00
Brian Wilkerson b999edf5ee Remove more references to AnalysisContext
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/3003173002 .
2017-08-23 07:53:14 -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 4aeedec64e Remove the auto-discovery of plugins
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/3003663002 .
2017-08-22 09:04:23 -07:00
Brian Wilkerson 4076ef910f Guard the fix code against file system exceptions
R=devoncarew@google.com

Review-Url: https://codereview.chromium.org/2997153002 .
2017-08-17 10:41:22 -07:00
Brian Wilkerson 8b96449718 Handle watch events that arrive before plugin start-up
R=devoncarew@google.com

Review-Url: https://codereview.chromium.org/3001133002 .
2017-08-17 09:57:22 -07:00
Brian Wilkerson 6f96d88e1e Avoid closing an already closed channel
R=devoncarew@google.com

Review-Url: https://codereview.chromium.org/2999153002 .
2017-08-17 09:47:33 -07:00
Brian Wilkerson bd8f5ad79f Guard against getting a watch event before the driver is created
R=devoncarew@google.com

Review-Url: https://codereview.chromium.org/3001023002 .
2017-08-16 14:08:44 -07:00
Brian Wilkerson 35f6d5da1b Correctly handle adding imports when pasting into part files
R=devoncarew@google.com

Review-Url: https://codereview.chromium.org/3001733002 .
2017-08-16 07:43:36 -07:00
Brian Wilkerson 44b5341de8 Update edit.importElements response data to support part files
R=devoncarew@google.com

Review-Url: https://codereview.chromium.org/3001723002 .
2017-08-15 08:51:51 -07:00
Brian Wilkerson eaf779ba1e Fix insertion of imports when there are no existing directives (issue 30430)
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/3002643002 .
2017-08-14 13:32:57 -07:00
Brian Wilkerson e42abf621e Update the version of the server API spec for analysis.closingLabels
R=devoncarew@google.com

Review-Url: https://codereview.chromium.org/3002513002 .
2017-08-12 14:44:41 -07:00
Brian Wilkerson 8c8969db4c Forward Kythe requests to plugins and merge in the results
R=jwren@google.com

Review-Url: https://codereview.chromium.org/3000823002 .
2017-08-12 08:16:34 -07:00
Danny Tuppeny 0647d9a228 Improvements to analysis server closing labels (#30411)
* Tweak comment that was based on integration test verison.

See #30285

* Include additional 1/2-line spans that end on same lines as >2 line spans.

See #30285

* Add tests to ensure no unwanted closing labels from multiline expressions.

See #30285

* Don't show closing labels for code inside interpolated strings.

See #30285

* Remove unwanted @soloTest.

See #30285

* Make casing of test names consistent.

See #30285

* Add a constructor and make fields final.

See #30285

* Use putIfAbsent for adding to map.

See #30285

* Shorten closing labels constructor.

See #30285

* Run "Sort members" on closing labels files.

See #30285

* Remove unnecessary type annotations.

See #30285
2017-08-11 11:04:34 -07:00
Brian Wilkerson ecc72d6be5 Initial implementation of the kythe domain
R=jwren@google.com

Review-Url: https://codereview.chromium.org/2999783002 .
2017-08-10 11:49:22 -07:00
Devon Carew c8f8f8e7cc Ignore two unused element warnings in pkg/analysis_server.
BUG=
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2994113002 .
2017-08-10 11:36:12 -07:00
Danny Tuppeny 619f2995ab Implement analysis server closing labels (work-in-progress) (#30372)
* Add empty closing labels computer/visitor and tests.

See #30285

* Add initial implementation and test for closing labels.

See #30285

* Add various tests for analyzer closing labels.

See #30285

* Fail tests if errors occur.

Without this the notifications will never come through and the test will time out. This causes them to fail right away on errors.

See #30285

* Add test and fix for crash that occurred during testing.

See #30285

* Remove unnecessary abs().

See #30285

* Remove question that has been answered (yes).

See #30285

* Remove unnecessary .argumentList on spansManyLines check.

See #30285

* Add test for prefixed import and constructor names.

The behaviour seems like what we want, though need to confirm if this is the best way to do it.

See #30285

* Add additional prefixed tests and another TODO.

See #30285

* Fix method invocations to show full target/name.

See #30285

* Fix constructor invocations to not use toString().

See #30285

* Convert most closing label tests to unit tests.

See #30285
2017-08-09 14:13:47 -07:00
Brian Wilkerson beae4b29f1 Handle creation of class members in files other than the file containing the error
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2998703002 .
2017-08-09 08:57:29 -07:00
Paul Berry 89c910b9c1 Move byte_store.dart and file_byte_store.dart to their own subdirectory.
This allows us to use the subpackage relationships test to verify that
they don't import any other parts of front_end, which paves the way
for the possibility of moving them to their own package in the future.

R=scheglov@google.com, sigmund@google.com

Review-Url: https://codereview.chromium.org/2990323002 .
2017-08-07 11:04:48 -07:00
Brian Wilkerson 4c635b7b85 Initial support for an explicit plugin list
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2988343002 .
2017-08-02 11:30:57 -07:00
Brian Wilkerson ae69313731 Initial implementation of the import-aware copy support
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2988183002 .
2017-08-01 08:32:12 -07:00
Jaime Wren 17d640d6ff Some initial work for the Dart Kythe indexer support in the analysis server
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2987193002 .
2017-07-31 14:38:32 -07:00
Brian Wilkerson 5b88eef0af Suggest covariant in parameter lists
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2986133002 .
2017-07-28 10:33:07 -07:00
Brian Wilkerson de0b7a2f40 Add sourceFactory getter to AnalysisSession
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2989883002 .
2017-07-28 06:18:53 -07:00
Brian Wilkerson 9591a9449f Partial support for intelligent paste operation
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2986073002 .
2017-07-27 13:55:59 -07:00
Brian Wilkerson 9a6b134d33 Improve name generation for indexed expressions
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2990793002 .
2017-07-27 07:58:34 -07:00
Brian Wilkerson 950b4108f7 Add assist to convert part-of directives
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2986903002 .
2017-07-26 09:08:37 -07:00
Brian Wilkerson a040de8c08 Update the version of the server API
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2985003002 .
2017-07-25 12:45:16 -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
Konstantin Shcheglov 939d8aaf6d Issue 30238. Fix for subscribing for a notifications with already cached analysis result.
With the new 'sendCachedToStream' option we can control that whether
cached analysis result is also reported into the 'results' stream when
it is desirable (when we do this to send analysis notifications from
the stream listener). Or not, when it is not desirable, e.g. when we
ask becaue we need the results unit for Quick Assists.

R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/30238

Review-Url: https://codereview.chromium.org/2989633002 .
2017-07-25 10:28:25 -07:00
Brian Wilkerson 0f9707073d Add support for creating a .packages file when the plugin is in a Bazel workspace
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2988673002 .
2017-07-24 10:00:05 -07:00
Konstantin Shcheglov bdd69ccd6c Remove UriReferencedElement with its uri/uriOffset/uriEnd properties.
The 'Move File' refactoring does not work, so I comment out most
of its code.

R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2982993003 .
2017-07-19 09:31:03 -07:00