Commit Graph

2342 Commits

Author SHA1 Message Date
Konstantin Shcheglov 6d79ee2602 Issue 27214. Get any AnalysisDriver for getNavigation().
This means that we will able to analyze any file, even outside all
analysis roots.

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

Review-Url: https://codereview.chromium.org/2689213016 .
2017-02-17 09:13:59 -08:00
Steve Messick 7945b65449 Add assist to reparent Flutter widget
R=brianwilkerson@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/2701563003 .
2017-02-17 08:35:47 -08:00
Konstantin Shcheglov ab8aea145e Remove PubSummaryManager.
The new AnalysisDriver is more general approach

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2698133002 .
2017-02-16 06:58:07 -08:00
Konstantin Shcheglov 4d9968b95d Use CompilationUnitElement.lineInfo instead of AnalysisContext.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2692383003 .
2017-02-15 10:06:28 -08:00
pq e2808dff23 Add fix for missing @required params.
Groundwork for: https://github.com/flutter/flutter-intellij/issues/553

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

Review-Url: https://codereview.chromium.org/2692983003 .
2017-02-15 09:02:44 -08:00
Konstantin Shcheglov 72463adf20 If the state location is not accessible, use MemoryByteStore.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2697653004 .
2017-02-15 08:37:22 -08:00
Brian Wilkerson 2e64ccbf84 Add the notification manager
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2692373002 .
2017-02-15 08:04:31 -08:00
Brian Wilkerson 7993dac4f1 Check the type of a map entry before using it (issue 28756)
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2697603005 .
2017-02-14 12:58:43 -08:00
Brian Wilkerson a56cee72e5 Extract object creation methods for use by a future test class
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2696853002 .
2017-02-14 12:37:09 -08:00
Paul Berry 02ff6326d7 Remove unused TokenType.IS.
TokenType is used for symbols, not keywords.

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2691043003 .
2017-02-13 11:17:02 -08:00
Brian Wilkerson 92550811ac Add conversion routines from the plugin API to the server API
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2689903002 .
2017-02-12 08:19:13 -08:00
Konstantin Shcheglov ad8e38881b Fix for 'Rename Local' refactoring without tasks.
R=devoncarew@google.com, brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2685783012 .
2017-02-10 16:15:31 -08:00
Konstantin Shcheglov 663b7f665e Analysis.getHover should return the field's documentation for field formal parameters.
Also return the parameter's element with completion suggestion.

R=brianwilkerson@google.com
BUG= https://github.com/flutter/flutter-intellij/issues/385

Review-Url: https://codereview.chromium.org/2681233005 .
2017-02-10 08:49:40 -08:00
Konstantin Shcheglov 46eff8e389 Implement also 'execution.mapUri' for file to URI.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2681393004 .
2017-02-10 08:48:02 -08:00
Konstantin Shcheglov 0a09ff53c3 Include the field documentation for named field formal parameter completion suggestions.
R=brianwilkerson@google.com, devoncarew@google.com
BUG= https://github.com/flutter/flutter-intellij/issues/385

Review-Url: https://codereview.chromium.org/2683233002 .
2017-02-09 13:24:25 -08:00
Brian Wilkerson a191011c03 Update ChangeBuilder to the new driver
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2688513003 .
2017-02-09 07:51:42 -08:00
Brian Wilkerson 5d0fa7dc21 Finish file rename operation (TBR)
Review-Url: https://codereview.chromium.org/2685783005 .
2017-02-08 13:56:56 -08:00
Konstantin Shcheglov 2f741af001 Fix for 'execution.mapUri' with the new analysis driver.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2682983002 .
2017-02-08 08:40:59 -08:00
Brian Wilkerson 407985cbce Support merging with priority information
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2683673003 .
2017-02-07 10:05:20 -08:00
Brian Wilkerson 37720f012f Use toList to copy lists and clean up errors and warnings
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2685613002 .
2017-02-07 09:00:09 -08:00
Brian Wilkerson ccdf574d49 Add support for merging results from plugins
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2678673002 .
2017-02-07 08:06:59 -08:00
Konstantin Shcheglov 0c19c418c2 Add EvictingFileByteStore and make FileByteStore non-evicting.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2676363003 .
2017-02-06 10:10:41 -08:00
danrubel 1680c434f2 suggest method references in named expressions
Fix https://github.com/dart-lang/sdk/issues/25386

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2679503002 .
2017-02-06 12:59:05 -05:00
danrubel 02adcc9614 suggest catch and finally keywords
After a try block that does not have a "catch" block,
suggest the "catch" keyword and nothing else.
After a "catch" block, suggest the "finally" keyword.

Fix https://github.com/dart-lang/sdk/issues/27560

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2662973007 .
2017-02-06 12:57:57 -05:00
Konstantin Shcheglov 6e422fd0a7 Don't search for 'declaration' of elements, just name is usually enough.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2677833002 .
2017-02-05 12:21:17 -08:00
Brian Wilkerson 9c9de9e48c Add code to locate a plugin within a package
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2671773007 .
2017-02-05 11:58:05 -08:00
Brian Wilkerson a8f65e61a9 Initial support for managing partial results from plugins
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2676593006 .
2017-02-04 09:46:08 -08:00
Konstantin Shcheglov 7d2447d795 Replace computeNode() with AstProvider in search.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2672973002 .
2017-02-03 10:40:44 -08:00
Konstantin Shcheglov f600f5f9de Stop using Element.computeNode() in refactorings and fixes.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2669353002 .
2017-02-02 17:24:31 -08:00
Konstantin Shcheglov 69f9f781cc Implement Search.classMembers() using getFilesDefiningClassMemberName().
This fixes the performance problem you saw on class renames.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2674493004 .
2017-02-02 10:48:19 -08:00
Dan Rubel f33c3c1676 complete named params in constructors
This add completion suggestions for named parameters
in constructors and factories, and prevents other suggestions
such as type names, identifiers, etc when they are not appropriate.

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2671533002 .
2017-02-01 14:36:41 -05:00
Konstantin Shcheglov 811d0caad2 Don't send 'Response.refactoringRequestCancelle' if the request is null.
Not sure how to reproduce this, but saw this in the exceptions log.
Just once, so must be a pretty event, but still.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2665403002 .
2017-02-01 10:06:24 -08:00
Paul Berry 6f0f50dc1e Streamline AnalysisDriver status tracking.
- Removed AnalysisDriver.status stream.  Outside of tests, we weren't
  using it.  Inside of tests, it was easy to switch to
  AnalysisDriverScheduler.status.

- Moved waitForIdle from AnalysisDriver to AnalysisDriverScheduler.

- Added a mechanism to ensure that AnalysisDriverScheduler.waitForIdle
  really waits for idle, even if AnalysisDriverScheduler.status hasn't
  been notified that we are analyzing yet.  This mechanism does the
  right thing even if we later discover that there is no analysis to
  be done (and so no event is ever sent to
  AnalysisDriverScheduler.status).

- Removed an unnecessary check from the loop in
  AnalysisDriverScheduler._run().

R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2665263002 .
2017-02-01 09:22:53 -08:00
Devon Carew 09725fc5c8 Show the platform version in the analysis server status page.
BUG=
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2661043004 .
2017-01-31 18:33:40 -08:00
Konstantin Shcheglov 75fff1fdb6 Implement completion in WithDirective.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2665053004 .
2017-01-31 15:06:54 -08:00
Brian Wilkerson 058b5a9c5b Add missed return leading to an NPE
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2668523002 .
2017-01-30 13:46:32 -08:00
Konstantin Shcheglov d29ba1e238 Store exceptions with transitive files context into ByteStore.
The key under which the exception context is stored, is included into
ExceptionResult, so Analysis Server can include the key into the message.

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

Review-Url: https://codereview.chromium.org/2663903002 .
2017-01-30 12:57:44 -08:00
Konstantin Shcheglov 6be5d918d0 Fix strong mode warning in the 'getter to method refactoring.'
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2662893002 .
2017-01-30 08:53:13 -08:00
Konstantin Shcheglov 8c738c2dad Revert "Revert "Enable the new analysis driver by default, use --disable-new-analysis-driver to disable.""
This reverts commit 878775607c.

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

Review-Url: https://codereview.chromium.org/2658273002 .
2017-01-27 12:13:04 -08:00
Konstantin Shcheglov 47967ac9f2 Guard against FunctionExpression nodes with null parameters.
I see this exception in logs, but I was not able to find which Dart
code would cause this.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2664493004 .
2017-01-27 11:57:08 -08:00
Konstantin Shcheglov fcd5f16d10 Stop using SDK summary bundle. Analyze dart:xxx as any other libraries.
Unfortunately this makes runnings tests about 30% slower :-(

I suspect that's because we have to build unlinked and linked summaries
for SDK libraries again and again for every tiny test.

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

Review-Url: https://codereview.chromium.org/2653683004 .
2017-01-24 18:32:26 -08:00
Brian Wilkerson c25bd9403f Move driver creation into ContextBuilder
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2647293007 .
2017-01-24 14:43:39 -08:00
Konstantin Shcheglov b206c84210 Reland c9e1b88 and 56726fc with a DDC fix.
Revert "Revert "Use single InputPackagesResultProvider, without SdkSummaryResultProvider.""

This reverts commit b701ad6453.

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

Review-Url: https://codereview.chromium.org/2647323006 .
2017-01-24 09:13:26 -08:00
Vijay Menon b701ad6453 Revert "Use single InputPackagesResultProvider, without SdkSummaryResultProvider."
This reverts commit c9e1b888a3.

Revert "Remove parent from SummaryResynthesizer."

This reverts commit 56726fcce0.

TBR=scheglov@google.com

Review-Url: https://codereview.chromium.org/2648213007 .
2017-01-24 06:21:38 -08:00
Konstantin Shcheglov c9e1b888a3 Use single InputPackagesResultProvider, without SdkSummaryResultProvider.
Each SummaryResynthesizer is now responsible for creating its TypeProvider.
And with the new AnalysisDriver we stop using SDK CachePartition.

For now we add SDK's summary bundle into SummaryDataStore.
Eventually we will get rid of it and add individual SDK libraries.

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

Review-Url: https://codereview.chromium.org/2652823002 .
2017-01-23 16:54:17 -08:00
Konstantin Shcheglov a483610a96 Issue 28386. Implement search for potential usages with the new analysis driver.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/28386

Review-Url: https://codereview.chromium.org/2653493006 .
2017-01-23 14:07:01 -08:00
Konstantin Shcheglov 0160332713 Issue 28027. Move Null to the bottom in the Analyzer.
R=brianwilkerson@google.com, paulberry@google.com
BUG= https://github.com/dart-lang/sdk/issues/28027

Review-Url: https://codereview.chromium.org/2638183002 .
2017-01-18 11:15:11 -08:00
Konstantin Shcheglov 8d326e9a14 Report StateError if the DartSDK for an AnalysisDriver does not have summary.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2639743002 .
2017-01-17 20:46:00 -08:00
Konstantin Shcheglov 878775607c Revert "Enable the new analysis driver by default, use --disable-new-analysis-driver to disable."
This reverts commit 7e560a612f.

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

Review-Url: https://codereview.chromium.org/2634603002 .
2017-01-13 15:23:22 -08:00
Konstantin Shcheglov 914a117649 Report errors like IMPORT_OF_NON_LIBRARY with the new analysis driver.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2627093010 .
2017-01-12 13:41:52 -08:00