Commit Graph

2889 Commits

Author SHA1 Message Date
Brian Wilkerson 8c946a6b9b Apply error processors in the new driver
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2577913002 .
2016-12-14 16:07:06 -08:00
Brian Wilkerson a8e9a1f108 Fix updating source factory in driver (issue 28086)
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2571353002 .
2016-12-14 13:08:23 -08:00
Konstantin Shcheglov 8dbfef1cf1 Fix completion tests that attempted to resolve a library.
We don't need this with the new analysis driver.
The library element will be resynthesized on demand.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2571333002 .
2016-12-14 12:33:06 -08:00
Brian Wilkerson bead4ce5f3 Add more tests of the driver
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2572233002 .
2016-12-14 12:29:20 -08:00
Konstantin Shcheglov 63d1c18f41 Add completion tests for the new analysis driver.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2572203002 .
2016-12-14 12:05:20 -08:00
Konstantin Shcheglov 52c81e4a78 Fix for detecting lib/src. Sort fixes by relevance.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2572013002 .
2016-12-14 06:57:19 -08:00
Konstantin Shcheglov 3a422bceb7 Implement SearchEngine.searchMemberDeclarations() for the new driver.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2566393003 .
2016-12-13 14:06:15 -08:00
Konstantin Shcheglov 142473b8cb Implement SearchEngine.searchTopLevelDeclarations() for the new driver.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2572603003 .
2016-12-13 12:11:22 -08:00
Brian Wilkerson 5ad638c9d3 Add a failing integration test
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2574843002 .
2016-12-13 11:44:37 -08:00
Brian Wilkerson 223513c81a Fix bug when packages file changes in new driver
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2570623002 .
2016-12-12 14:03:00 -08:00
Konstantin Shcheglov c4ed99acc9 Support for overlay only files in Analysis Server with the new driver.
Do we need this at all?

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

Review-Url: https://codereview.chromium.org/2571593002 .
2016-12-12 13:16:04 -08:00
Konstantin Shcheglov d564b0aaab Send errors notification without delay.
Update 'analysis.updateContent' integration test.

This might be OK from performance POV - errors are cheaper to send than
for example navigation. And this satisfies the goal of 'analyzing'
notification - that new errors are to be expected.

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

Review-Url: https://codereview.chromium.org/2567113003 .
2016-12-12 11:39:47 -08:00
Konstantin Shcheglov f43db9ccfa Update the integration test to make the file with subscription a priority one.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2566243002 .
2016-12-12 10:51:13 -08:00
Paul Berry 02fe40c6f7 Simplify how patch files are specified to analyzer.
After discussion with kmillikin@, sigmund@, and scheglov@, we decided
that specifying the patch files in libraries.dart is more complex (and
less flexible) than we'd like.  This CL changes things so that the
patch files are specified in analysis options using a simple map from
library name (e.g. "dart:core") to a list of patch file paths.

Clients are now allowed to put patch files wherever they want; they
don't need to be inside the sdk directory.

Note that we no longer include the patch configuration in
encodeCrossContextOptions.  This should be ok, since we don't have any
use case in which a single instance of analyzer needs to accommodate
multiple patch configurations.

R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2560323002 .
2016-12-12 10:15:18 -08:00
Konstantin Shcheglov 2a7612f103 Implement 'analysis.occurrences' for the new analysis driver.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2566223002 .
2016-12-12 10:07:19 -08:00
Konstantin Shcheglov a7222ac09d Implement 'analysis.outline' for the new analysis driver.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2571513002 .
2016-12-12 09:09:45 -08:00
Brian Wilkerson a2713a8be5 Disable a test that times out on the bots
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2568183002 .
2016-12-12 08:51:11 -08:00
Konstantin Shcheglov 0728e4ee70 Implement 'analysis.getErrors' for the new driver.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2566013002 .
2016-12-11 15:27:57 -08:00
Brian Wilkerson 86c62a6bad Remove the command-line plugin
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2565993002 .
2016-12-11 10:59:19 -08:00
Brian Wilkerson a01afcd1d1 Remove the options plugin
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2569603002 .
2016-12-11 08:38:29 -08:00
Brian Wilkerson ebf5fbcd0e Remove references to the linter plugin
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2567863002 .
2016-12-10 10:00:20 -08:00
Brian Wilkerson 7f36a0d403 Get all integration tests running with the new driver
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2564863003 .
2016-12-09 16:12:52 -08:00
Konstantin Shcheglov 9ab69ab984 Implement SearchEngine.searchAllSubtypes() with the analysis driver.
Inline getSubClasses().

Add a couple of tests for SearchEngineImpl2 itself.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2564913002 .
2016-12-09 09:32:49 -08:00
Brian Wilkerson c99adefae7 Get some tests running using the analysis driver
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2562083002 .
2016-12-09 08:32:39 -08:00
Paul Berry ae6fd961a1 Prepare for decoupling analyzer ASTs from element model.
This CL creates top level accessor functions which may be used to map from AST data structures to their corresponding elements and types, and begins using those accessor functions throughout the SDK.  It also adds empty interfaces ResolutionTarget and ResolutionType, which are implemented by Element and DartType respectively.

In a future CL, I will change the types stored in the AST to ResolutionTarget and ResolutionType, rather than specific element types; this will decouple the ASTs from the element model.  The presence of the accessor functions will allow clients to continue accessing elements and types in a type-safe way.

R=asgerf@google.com, brianwilkerson@google.com, scheglov@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/2551023005 .
2016-12-07 11:08:14 -08:00
Brian Wilkerson 20baedc660 Reapply "Move the linter core to the analyzer package"
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2559773002 .
2016-12-07 09:57:17 -08:00
Paul Berry 1a172e935b Revert "Move the linter core to the analyzer package"
This reverts commit 6d9d5f53a1, which
was causing analysis server unit tests to fail.

TBR=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2561573003 .
2016-12-07 05:36:46 -08:00
Konstantin Shcheglov 57c3002ede Implement 'Import Library' Quick Fix for project libraries using TopLevelDeclarationInSource.
Only the current implementation is done.

Implementation for the new analysis driver is not linked yet.

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

Review URL: https://codereview.chromium.org/2554113003 .
2016-12-06 14:24:22 -08:00
Brian Wilkerson 6d9d5f53a1 Move the linter core to the analyzer package
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2553203002 .
2016-12-06 09:42:26 -08:00
Konstantin Shcheglov 61183b2be9 Remove @failingTest for the now passing test.
TBR

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2554633002 .
2016-12-05 13:41:03 -08:00
Konstantin Shcheglov a86fe28658 Send 'analysis.flushResults' on file removal.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2552023002 .
2016-12-05 13:38:21 -08:00
Konstantin Shcheglov 6a9edde070 Issue 27820. Add fix for CompileTimeErrorCode.UNDEFINED_CLASS.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27820

Review URL: https://codereview.chromium.org/2546993004 .
2016-12-03 14:15:41 -08:00
Brian Wilkerson b81564b623 Add support for generating lints when using the new driver
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2545553007 .
2016-12-03 07:25:42 -08:00
Brian Wilkerson c75c14db54 Only generate summaries, in tests, when necessary
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2547953002 .
2016-12-02 12:01:51 -08:00
Brian Wilkerson e17e359faa Create summary files in MockSdk classes
Review URL: https://codereview.chromium.org/2542853003 .
2016-12-02 07:32:39 -08:00
Konstantin Shcheglov 2368a59d60 Add libraries in corrections using SourceInfo instance of LibraryElement.
We are not going to have LibraryElement(s) for the new analysis driver.

The current approach: get known library sources, compute their elements,
import these elements does not work well when there is no analysis cache.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2532393008 .
2016-12-01 10:22:48 -08:00
Konstantin Shcheglov 666d4efce2 Issue 27903. Use shared logic for computing new method location.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27903

Review URL: https://codereview.chromium.org/2538143003 .
2016-11-30 12:15:07 -08:00
Konstantin Shcheglov 2537784f92 Stop using Element.unit directly.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2541873002 .
2016-11-30 09:37:55 -08:00
Konstantin Shcheglov 0f9a78ff53 Make 'Inline Method' refactoring work with the new analysis driver.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2540793003 .
2016-11-29 17:12:46 -08:00
Konstantin Shcheglov 5cbd824762 Fix for search references when the element is null.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2526363002 .
2016-11-28 08:51:40 -08:00
Konstantin Shcheglov f189796d68 Implement getLinkedBundle() for MockSdk in analysis_server.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2525203002 .
2016-11-28 08:32:34 -08:00
Konstantin Shcheglov 9bc4c73e2d Stop returning declaration matches from search for references.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2518183003 .
2016-11-22 12:32:51 -08:00
Brian Wilkerson e63105555b Remove uses of configuration data
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2522543007 .
2016-11-22 11:26:08 -08:00
Konstantin Shcheglov 9f1ca4a119 Make AnalysisSErver APIs to access unit/node/element asynchronous.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2526473003 .
2016-11-22 10:46:06 -08:00
Brian Wilkerson a3e1a0d395 Enable generic method support by default
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2488043002 .
2016-11-22 09:16:19 -08:00
Konstantin Shcheglov ab0a8e775f Use single unit/node/element.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2525693002 .
2016-11-22 09:13:31 -08:00
Konstantin Shcheglov 73fccff8ea Make SearchMatch an interface, exclude 'context', move implementation.
Also, mostly drop 'fileStamp' in SourceFileEdit.
Only `-1` is kept when the file is a new one, in other cases it' `0`.
As I can see, IDEA cares only about `-1`.
We don't know modification stamps with the new analysis driver.
But we know content hashes.

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

Review URL: https://codereview.chromium.org/2518903002 .
2016-11-21 10:05:21 -08:00
Dan Rubel 74d713ece9 remove support for analyzer configuration in pubspec
This removes support for having directives like this in your pubspec:

analyzer:
  configuration: test_pack/config

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2511963002 .
2016-11-20 20:44:04 -05:00
Devon Carew f16a0a2a4d Use an import prefix in the analysis server tests; this fixes some issues conflicting with the
'equals' symbol in the 1.4.0 version of package:path.

BUG=
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2518873002 .
2016-11-20 10:26:27 -08:00
Mohamed Hayibor 5595b9698d Fix typos 'overriden' to 'overridden' and '@mustCall super' to '@mustCallSuper' (#27853)
* fix overriden typos to overridden
* Fix @mustCall super to @mustCallSuper
2016-11-18 09:36:25 -08:00