Commit Graph

4090 Commits

Author SHA1 Message Date
Konstantin Shcheglov b6c02291b8 Notify all drivers about all changed files.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2489063002 .
2016-11-09 11:32:02 -08:00
Paul Berry 1dfa5685ce Update cross-context options encoding to account for patchPlatform.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2486973004 .
2016-11-09 09:12:09 -08:00
Konstantin Shcheglov b22ac9c93d Use AnalysisDriverScheduler to schedule work across multiple AnalysisDriver(s).
I don't like that it lives in the same file, but I'd not like to
expose internals of AnalysisDriver or AnalysisDriverScheduler outside :-(

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

Review URL: https://codereview.chromium.org/2487003002 .
2016-11-08 18:05:16 -08:00
Konstantin Shcheglov f059523037 Highlight FieldFormalParameterElement as a field only in declaration.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27478

Review URL: https://codereview.chromium.org/2484883002 .
2016-11-07 12:03:06 -08:00
Konstantin Shcheglov fd3d6047fb Send notifications in the scheduled futures.
Doing this allows code completion to run before notifications, so
we get completions faster.

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

Review URL: https://codereview.chromium.org/2481323002 .
2016-11-07 12:01:10 -08:00
Konstantin Shcheglov 9723a28457 Support for hover with the new analysis driver.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2477193002 .
2016-11-07 09:09:14 -08:00
Konstantin Shcheglov fc30904a39 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=

Review URL: https://codereview.chromium.org/2478963002 .
2016-11-06 10:45:46 -08:00
Konstantin Shcheglov fa6cfb3515 Support for Quick Fixes with the new analysis driver.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2481643002 .
2016-11-06 10:09:30 -08:00
Konstantin Shcheglov 9f6e57635a Support for Quick Assists with the new analysis driver.
R=paulberry@google.com, brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2480843002 .
2016-11-04 16:50:25 -07:00
Konstantin Shcheglov 64e0247700 Implement 'Sort Members' for the new analysis driver.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2473003003 .
2016-11-04 08:24:02 -07:00
Konstantin Shcheglov f55a9760fc Include LineInfo into AnalysisResult to allow reporting errors with lines/columns.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2468223003 .
2016-11-03 08:39:37 -07:00
Konstantin Shcheglov 99584133c8 Fixes for formatting and complete completion stub.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2467153002 .
2016-11-02 07:11:17 -07:00
Konstantin Shcheglov 5ba0fac019 Use FileContentOverlay instead of ContentCache in the new driver.
We do something strange in Analysis Server and the driver.
We get path, create the corresponding Source, and then put/get the
content using this Source. It seems more natural to use path everywhere.

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

Review URL: https://codereview.chromium.org/2473473002 .
2016-11-01 12:45:57 -07:00
Brian Wilkerson 313d236918 Fix offset for URI navigation (issue 27717)
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2465393003 .
2016-11-01 12:28:07 -07:00
Brian Wilkerson 15663c6148 Generate more type information to make strong mode happy
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2470863002 .
2016-11-01 11:20:44 -07:00
Brian Wilkerson c97fdb6e82 Fix bugs in the log viewer
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2466403002 .
2016-11-01 09:46:48 -07:00
Konstantin Shcheglov c1a6321707 Get code to format from 'overlayState' or from the Source.
So, formatting will work for both old and new branches.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2466703002 .
2016-10-31 13:42:43 -07:00
Konstantin Shcheglov 19959a3464 Send analysis notifications after subscription.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2463193002 .
2016-10-31 13:40:21 -07:00
Konstantin Shcheglov 4d8ceb01a1 Send highlight and navigation notifications on result.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2469453002 .
2016-10-31 11:04:49 -07:00
Konstantin Shcheglov 0257eeb4f5 Simplify handling of watch events for the new analysis driver.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2463903002 .
2016-10-31 11:00:22 -07:00
Konstantin Shcheglov 6826e267b9 Integration of the new analysis driver, behind a flag.
The flag is --enable-new-analysis-driver, disabled by default.

WIP, only error notifications for now.

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

Review URL: https://codereview.chromium.org/2465923002 .
2016-10-31 09:54:31 -07:00
Konstantin Shcheglov 3319e6d0e3 Fix for inlining async methods/getters.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2463493002 .
2016-10-31 08:48:37 -07:00
Brian Wilkerson 96750cd5cb Split out options from ContextBuilder
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2425423009 .
2016-10-20 11:03:11 -07:00
Brian Wilkerson 99ce88f8bc (TBR) Fix more failing tests
Review URL: https://codereview.chromium.org/2426723002 .
2016-10-17 12:57:56 -07:00
Brian Wilkerson cbd7a2908e Fixes for tests on windows
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2420413004 .
2016-10-17 09:39:25 -07:00
Brian Wilkerson 4942f5304a Guard against a hypothetical null pointer dereference
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2421473007 .
2016-10-14 12:31:11 -07:00
Brian Wilkerson 3155b1e08c Remove unused method and field from DartSdkManager
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2415413003 .
2016-10-14 09:53:44 -07:00
Konstantin Shcheglov 33ecec5d4f Replace expect() with outOfTestExpect() in Analysis Server performance benchmark.
In package:test function expect() does not want to be used outside of
test() methods. So, we need a partial copy for using it in integration
tesitng code, and performance benchmarks.

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

Review URL: https://codereview.chromium.org/2413573003 .
2016-10-12 12:57:03 -07:00
Brian Wilkerson 5f5abd848c Fix exception in checked mode
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2409963004 .
2016-10-11 17:30:16 -07:00
Konstantin Shcheglov 56bde6da28 Issue 27542. Guard against CompilationUnitElement is null in SearchMatch.element getter.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27542

Review URL: https://codereview.chromium.org/2409403002 .
2016-10-11 14:09:09 -07:00
Konstantin Shcheglov 2a000e1587 Issue 27539. Check that the source is not modified between constructor and correction computing.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27539

Review URL: https://codereview.chromium.org/2411063002 .
2016-10-11 13:41:44 -07:00
Konstantin Shcheglov 1a70ff791a Parse the 'patches' argument in SDK libraries declarations.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2408863002 .
2016-10-11 09:19:27 -07:00
Brian Wilkerson 0f364bfac2 Fix more tests on windows bots
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2404733002 .
2016-10-09 11:57:40 -07:00
Konstantin Shcheglov 831d3119f2 Issue 27536. Quick Fix for 'Avoid using braces in interpolation when not needed'.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27536

Review URL: https://codereview.chromium.org/2397153004 .
2016-10-07 12:51:04 -07:00
Konstantin Shcheglov d4ebdabf43 MemoryResourceProvider.getFolder() should not create the folder.
But newFolder() should be used to create.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2396423002 .
2016-10-07 10:12:00 -07:00
Konstantin Shcheglov 2e2b92932a Move analysis_server dependency on analyzer back to 0.28.0
The dart_style change to widen version was landed, but now pub says
that there is the same problem with 'linter'. I don't know why
analysis_server is tested as a package at all.

TBR

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2391263007 .
2016-10-06 20:38:35 -07:00
Brian Wilkerson ff513066c0 Improve server documentation
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2397293002 .
2016-10-06 14:57:10 -07:00
James Robinson fe9ed42b62 Added build files for the analyzer and analysis_server packages.
This way they can be used in the Fuchsia tree.

BUG=
R=pquitslund@google.com

Review URL: https://codereview.chromium.org/2398143002 .
2016-10-06 14:00:19 -07:00
Brian Wilkerson 6de0803deb Clean up hints
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2394733004 .
2016-10-06 12:59:38 -07:00
Brian Wilkerson 9c76fe554a Fix the spec generator to use test rather than unittest
Review URL: https://codereview.chromium.org/2401463005 .
2016-10-06 11:52:08 -07:00
Konstantin Shcheglov 05a86a7495 Remove 'initializeTestEnvironment' from 'analysis_server'.
Also fixes the server_options_test.dart:22 test broken in https://codereview.chromium.org/2394683006/

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

Review URL: https://codereview.chromium.org/2402483002 .
2016-10-06 10:26:17 -07:00
Konstantin Shcheglov de4d8b3a78 Switch analysis_server to use 'package:test'.
I'm changing DEPS in the corresponding analyzer CL.

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

Review URL: https://codereview.chromium.org/2394683006 .
2016-10-06 08:47:15 -07:00
Konstantin Shcheglov 5a4d7ebf61 Issue 27475. Discourage users from naming constructors the same as the enclosing classes.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27475

Review URL: https://codereview.chromium.org/2399533003 .
2016-10-05 12:07:40 -07:00
Konstantin Shcheglov f693119146 Catch and suppress expected exceptions in corrections.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2391173003 .
2016-10-05 08:31:07 -07:00
Paul Berry f5ed63f2be Deprecate analysis option "cacheSize".
This option has had no effect for quite some time.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2392983002 .
2016-10-04 09:53:56 -07:00
Brian Wilkerson 852a479b73 Handle session logs and add event subset selection
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2390693002 .
2016-10-03 08:32:09 -07:00
Brian Wilkerson 25374847ab Handle null element in completion (issue 27461)
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2383533005 .
2016-09-30 15:16:21 -07:00
Brian Wilkerson 3a610fc9f4 Fix test failures under windows
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2383133002 .
2016-09-30 10:53:53 -07:00
Brian Wilkerson 685e4ff9e1 Revert "Remove unused option in server API"
Review URL: https://codereview.chromium.org/2382033003 .
2016-09-30 10:14:12 -07:00
Brian Wilkerson 2972bd0d6b Remove unused option in server API
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2382053002 .
2016-09-30 09:04:38 -07:00