Commit Graph

324 Commits

Author SHA1 Message Date
Konstantin Shcheglov e9d2f739ad More tweaks in attempt to debug the reason of failing getNavigation() tests.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1284933002 .
2015-08-11 11:13:48 -07:00
Konstantin Shcheglov 089f84f6cd Keep only unique overridden elements.
If the implemented interfaces don't declare an element, keep only a single copy of the element - from the superclass.

In Dart Editor we use any element, but in in IDEA we show all of them, and we don't want to have duplicates.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1273003005 .
2015-08-10 16:13:43 -07:00
Brian Wilkerson 908708d655 More fixes for failures on the Windows bot
R=paulberry@google.com

Review URL: https://codereview.chromium.org//1266923004 .
2015-08-05 08:13:28 -07:00
Brian Wilkerson f909ed8adf Add test for references in comments
R=scheglov@google.com

Review URL: https://codereview.chromium.org//1256333008 .
2015-07-30 11:20:00 -07:00
Konstantin Shcheglov 14e1cdc86c Fix for 'analysis.getNavigation' implementation.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1260503002 .
2015-07-24 14:27:20 -07:00
Paul Berry 128dec84b5 Separate the API's used by ContextManager.
Previously, ContextManager had two API's: one used by analysis server
to tell the ContextManager what to do, and one used by the
ContextManager to make callbacks to analysis server in response to its
requests.  The first API was implemented in the class
AbstractContextManager, which derived from ContextManager, and the
second API was implemented in ServerContextManager, which derived from
AbstractContextManager.

In addition to causing confusion, this made it impossible to provide
an alternate implementation of ContextManager as a plug-in, since the
plug in would have had to re-implement the second API, and that would
have required accessing private implementation details of the
ContextManager.

This CL separates the API's: the first API is specified in
ContextManager and implemented in ContextManagerImpl, and the second
API is specified in ContextManagerCallbacks and implemented in
ServerContextManagerCallbacks.

In the long run I hope to eliminate the ContextManagerCallbacks class
entirely, by having the ContextManager tell its client what to do
using return values rather than callbacks.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1243893002 .
2015-07-21 10:40:57 -07:00
Konstantin Shcheglov d5d0017e21 Tweak for navigation for URIs.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1246833002 .
2015-07-20 15:07:00 -07:00
Konstantin Shcheglov 55cb93b422 Add '--useAnalysisHighlight2' option to generate version 2 of semantic highlight.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1241193002 .
2015-07-20 10:37:46 -07:00
Paul Berry 2f6ebaa774 Only send "analysis.analyzedFiles" notification when the set of files changes.
R=jwren@google.com

Review URL: https://codereview.chromium.org//1233003002 .
2015-07-13 15:52:28 -07:00
Brian Wilkerson 2ffa8de794 Add notification of analyzed files
R=paulberry@google.com

Review URL: https://codereview.chromium.org//1232393005 .
2015-07-13 15:07:33 -07:00
Brian Wilkerson 41f74711e0 (TBR) Fix a broken test
Review URL: https://codereview.chromium.org//1232913002 .
2015-07-13 12:45:56 -07:00
Brian Wilkerson 0c6872acef Hook for overriding the ContextManager and some code clean-up (with more to follow)
R=paulberry@google.com

Review URL: https://codereview.chromium.org//1223413003 .
2015-07-13 10:20:13 -07:00
Brian Wilkerson 10b7db100f Revert "Update Analysis Server highlight API and implementation."
This reverts commit 739847402b.

Rolling the wire protocol API version forward caused existing clients to break, so we're rolling it back until we can find a backward compatible way of adding the new functionality.

R=paulberry@google.com

Review URL: https://codereview.chromium.org//1236433003 .
2015-07-13 09:49:55 -07:00
Konstantin Shcheglov 3f99fc1744 Add test for 'getNavigation'.
R=paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//1229833004 .
2015-07-13 07:46:07 -07:00
Konstantin Shcheglov d7c2f4550b Issue 23640. Implement 'analysis.getNavigation' request.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/23640

Review URL: https://codereview.chromium.org//1232683003 .
2015-07-10 15:31:25 -07:00
Konstantin Shcheglov 739847402b Update Analysis Server highlight API and implementation.
I think this is a good enough compromise between the existing and IDEA granilarity.

Eclipse plugin CL will follow.

(IN)VALID_STRING_ESCAPE are not implemented yet.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1227143003 .
2015-07-09 11:19:44 -07:00
Konstantin Shcheglov aa4efb8c6e One more fix for making removing overlays incremental changes.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1214853028 .
2015-07-07 14:51:44 -07:00
Konstantin Shcheglov 7e194d8fb5 Change navigation regions generation for constructors.
In IDEA we use navigation regions for resolution.
And so far all navigation regions are for separate identifiers.
This CL splits single regions like "new A.named()" into separate "A" and "named" regions.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1218183007.
2015-07-06 11:27:19 -07:00
Paul Berry 921a5229fa Make use of test_flushAstStructures in analysis server.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1203783004.
2015-06-24 14:04:26 -07:00
Konstantin Shcheglov f118546d06 Issue 23332. Don't compute overrides for static members.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=23332

Review URL: https://codereview.chromium.org//1151573011
2015-06-01 10:42:22 -07:00
scheglov@google.com 9efb25fa50 Use package:test_reflective_loader instead of reflective_tests.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1101003002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45365 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 20:54:29 +00:00
scheglov@google.com e154d7ac6a Tweaks for hover - local variables and methods.
1. We don't need enclosing class and library for local elements.

2. None of the elements other than methods append class name in toString(), so remove it there too.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1050983002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44838 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 18:24:16 +00:00
brianwilkerson@google.com b396bc4c96 Support refresh of individual analysis roots (issue 22254)
R=scheglov@google.com

Review URL: https://codereview.chromium.org//1047733004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44791 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-30 21:07:23 +00:00
scheglov@google.com c4729ac121 Issue 22617. Add/remove overlay-only sources to their containing contexts.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=22617

Review URL: https://codereview.chromium.org//1042923002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44782 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-30 16:57:33 +00:00
scheglov@google.com 2a7227b15d Fix for computing overridden/implemented members from interfaces.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1037193002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44737 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-27 15:16:21 +00:00
scheglov@google.com 0c21dc284c Add 'containingClassDescription' to HoverInformation.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1003193005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44483 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-13 22:05:05 +00:00
scheglov@google.com 2e77fcdd11 Add an optional 'typeParameters' to Element.
Also use it in Editor, e.g. in Outline.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//990343002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44349 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-09 22:02:44 +00:00
brianwilkerson@google.com cd58e290c4 Reformat
R=paulberry@google.com

Review URL: https://codereview.chromium.org//969113002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44151 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-02 22:43:12 +00:00
scheglov@google.com 1a7ac64ae2 Don't remove indexing operations on potential source changes.
This covers the following scenario:

1. User performs an undo operation in a save editor.

2. Editor updates the file buffer, so sends 'add overlay'.
   Server performs an incremental analysis and schedules an 'analyze' operation.

3. The 'analyze' operation runs and schedules 'index' operation.

4. Editor saves the file buffer.
   Editor sends 'remove overlay command'.
   Server removes all the scheduled notification and index operations for the file.
   Server notices that there is no real change for the file, so the is nothing to do.
   But it still reschedules notifications, because the client might have lost some information.

5. Notifications are resent, but indexing is not performed.

  So, the solution is to reschedule indexing operation.

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

Review URL: https://codereview.chromium.org//958373003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44111 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-28 01:34:56 +00:00
scheglov@google.com 6a78250c64 Issue 22476. Outline for enums.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=22476

Review URL: https://codereview.chromium.org//934353002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43853 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-18 21:37:27 +00:00
scheglov@google.com 865b217511 Issue 22381. Fix for navigating to constructor from redirecting factory constructor.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=22381

Review URL: https://codereview.chromium.org//921833002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43731 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 17:58:29 +00:00
scheglov@google.com eac4b2e0a3 Discard pending notifications on the same source change.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//904093002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43564 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-06 19:31:13 +00:00
scheglov@google.com ae2e608ff9 Send notificatinos after no-op changes.
This should solve the problem when client remove some part of the code,
so removes also error markers for it, and then quickly restores it,
so for the server it looks as an empty/no-op change. But information is
lost, and the server should resend it to the client.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//899753004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43521 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-05 20:42:17 +00:00
danrubel@google.com b35d83dbad Revert 43227
BUG=

Review URL: https://codereview.chromium.org//878353002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43228 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 04:48:18 +00:00
danrubel@google.com 5a7c80ab80 (TBR) fix the build
BUG=dartbug.com/22180

Review URL: https://codereview.chromium.org//882913003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43227 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 04:30:36 +00:00
scheglov@google.com b280b861f9 Issue 22143. Navigation from super initializers.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=22143

Review URL: https://codereview.chromium.org//882823002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43209 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 21:50:00 +00:00
paulberry@google.com aac571f7a0 Add tests for additional bugs fixed by r43163.
R=scheglov@google.com

Review URL: https://codereview.chromium.org//862133006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43168 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 01:09:54 +00:00
paulberry@google.com 7bf029506d Fix "reanalyze sources" when there are unsaved files.
The analysis server now maintains a single content cache which is
shared by all contexts; this allows it to persist the content cache
across reanalysis (which destroys all contexts and recreates them from
scratch).

Two other bugs are fixed in the process:

- If a file is analyzed in multiple contexts, then editing it will
  cause all affected contexts to be notified of the change.  (Note
  that this could potentially account for some other strange behaviors
  we've seen recently, such as incorrect semantic highlighting and
  lingering errors/warnings.)

- If the client supplies a ChangeContentOverlay for a file which
  currently has no overlay, the proper error is generated.

I plan to submit tests for these two bugs in a follow-up CL.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//880643005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43163 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-26 23:26:45 +00:00
scheglov@google.com a38a503d86 Replace @ReflectiveTestCase() with @reflectiveTest.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//849863002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42821 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-13 17:11:24 +00:00
scheglov@google.com 409fcc9d44 Fix for 'await' highlighting in for-each.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//835953002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42610 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-05 20:01:05 +00:00
scheglov@google.com e73e5faaad Getters should not have parameters.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//787603004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42183 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-08 21:04:44 +00:00
scheglov@google.com 20d82e5135 Compressed/optimized navigation notification.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//766323002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42049 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-01 22:21:28 +00:00
scheglov@google.com b8da9bc651 Format and sort analyzer and analysis_server packages.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//725143004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41792 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-17 22:23:53 +00:00
scheglov@google.com affc91a881 Issue 21552. Fixes for navigation, hover and rename in instance creation expressions.
R=brianwilkerson@google.com, paulberry@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21552

Review URL: https://codereview.chromium.org//717513003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41651 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 03:01:21 +00:00
scheglov@google.com 772a0c6b22 Fix 'Unused local variable' hints in analyzer and analysis_server.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//709493002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41576 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-06 18:32:54 +00:00
scheglov@google.com 1c6ddd0751 Issue 21498. Fix for navigation from instance creation with type arguments.
R=paulberry@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21498

Review URL: https://codereview.chromium.org//694383003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41468 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-03 20:45:34 +00:00
scheglov@google.com 0463d78cfb Semantic highlight async/await/sync/yield.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//668943004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41335 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-27 20:18:11 +00:00
scheglov@google.com 2ca4bbbd60 Support for enums semantic highlighting.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//679103003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41330 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-27 18:39:40 +00:00
scheglov@google.com 8ae0268b39 Issue 21419. Don't create navigation region for elements without location.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21419

Review URL: https://codereview.chromium.org//661193004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41302 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-25 21:12:12 +00:00
scheglov@google.com 51fb6c5a9e Issue 21377. Specify that navigation regions are sorted and implement it.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21377

Review URL: https://codereview.chromium.org//649853004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41261 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-23 17:18:13 +00:00