Commit Graph

139 Commits

Author SHA1 Message Date
Brian Wilkerson 44836f8538 Support the name analysis_options.yaml for analysis options files
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1975963002 .
2016-05-13 07:33:06 -07:00
Konstantin Shcheglov c675ba270f Pass AnalysisOptions into SdkCreator, disable changing afterwards.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1830703002 .
2016-03-23 13:11:49 -07:00
Konstantin Shcheglov bd76934452 Remove old index and search implementations.
Also rename the new implementation files and classes to remove the
'2' suffix.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1801883002 .
2016-03-14 12:19:40 -07:00
Konstantin Shcheglov c9e82c7e67 Fill the new index in Analysis Server.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1749333004 .
2016-03-02 14:00:17 -08:00
Brian Wilkerson 841f8e6cf2 Move shouldFileBeAnalyzed into ContextManager
R=paulberry@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/1748763002 .
2016-03-01 12:40:56 -08:00
Brian Wilkerson bdd0d637fe We need to perform analysis differently based on some option settings (such as strong mode), but there is currently a single SDK that is shared across all contexts no matter which option values are being used. This causes us to inconsistently analyze different portions of the SDK depending on which outer context was the first to request the analysis.
This is at least a first step toward solving this problem by allowing multiple SDKs to be created, one for each unique set of options.

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

Review URL: https://codereview.chromium.org/1686613002 .
2016-02-09 11:05:34 -08:00
danrubel e13a49fdfa (TBR) "fix" test_no_duplicate_notifications
Review URL: https://codereview.chromium.org/1542433002 .
2015-12-19 11:41:32 -05:00
Paul Berry de3a1b22c8 Merge remote-tracking branch 'origin/master' into analyzer-breaking-0.27 2015-12-07 07:04:07 -08:00
danrubel 79a8654e5f (TBR) increase pumpEventQueue to finish analysis
Review URL: https://codereview.chromium.org/1508523002 .
2015-12-06 17:26:27 -05:00
Brian Wilkerson 600fc17de1 Clean-up the registration of plugins
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1487953002 .
2015-12-02 13:25:28 -08:00
Brian Wilkerson b2728c15a6 Revert "Fix test failures on the bots"
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1468623002 .
2015-11-20 14:04:11 -08:00
Brian Wilkerson 6b45d6544c Fix test failures on the bots
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1467623002 .
2015-11-20 11:48:35 -08:00
Konstantin Shcheglov a689bf4180 Report error for ignored priority file. Ignore subscription for ignored files.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1462693002 .
2015-11-18 17:31:58 -08:00
Konstantin Shcheglov abe8d87e0e Implement AnalysisServer.getContainingContext() using ContextManager.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1455163005 .
2015-11-18 14:10:35 -08:00
Konstantin Shcheglov de6925a23e Add ApplyChangesStatus to AnalysisContext.applyChanges() and use it in DAS.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1448173002 .
2015-11-16 19:42:15 -08:00
Konstantin Shcheglov 041e61a0f6 Ensure that RESOLVED_UNITx ready once for every library.
...instead of ensuring this separately for complete closures of every library.

This improves initial analysis performance from about 44 seconds to 39.
This also makes WorkOrder.moveNext less expensive - to about 5.6% during initial analysis.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1412273004 .
2015-10-23 13:25:56 -07:00
pq 9989687a25 Revert server test extension manager "fix".
BUG=

Review URL: https://codereview.chromium.org/1398043006 .
2015-10-14 22:10:47 -07:00
pq 3188a74994 More extension manager unification.
Addresses bot test failures: http://build.chromium.org/p/client.dart/builders/pkg-mac-be/builds/1531/steps/pkg%20%20tests%20failures/logs/stdio.

(See https://codereview.chromium.org/1398033004/ for background.)

Marking TBR in quest for build greenness.

Review URL: https://codereview.chromium.org/1401403005 .
2015-10-14 21:22:26 -07:00
Brian Wilkerson 9ad256cf18 Move the wire protocol support into the public API
R=paulberry@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/1398293002 .
2015-10-11 07:34:28 -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 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
Konstantin Shcheglov 19a87506bc Fix for the server test.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1196213005.
2015-06-22 10:03:06 -07:00
Konstantin Shcheglov b8067b5fb9 Compute RESOLVED_UNIT for all units in all of the libraries of the closure before verifying.
This fixes many co19 tests, so I guess it might solve the problems with constants you mentioned.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1183533002.
2015-06-11 10:47:26 -07:00
Brian Wilkerson 06a3fd1984 Fix more tests for the new task model
R=scheglov@google.com

Review URL: https://codereview.chromium.org//1159623013
2015-06-02 09:06:53 -07:00
Brian Wilkerson ad52c9eab9 Add support for specifying files needing analysis
R=scheglov@google.com

Review URL: https://codereview.chromium.org//1152013002
2015-05-21 14:34:04 -07:00
brianwilkerson@google.com ac3126da13 Fix exception in stack trace from issue 23348
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45493 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 16:03:58 +00: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
danrubel@google.com ec456501b5 do not suggest elements from internal sdk libs
BUG=dartbug.com/23104
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44939 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-07 16:52:43 +00:00
scheglov@google.com b03f3cd6a3 If the file belongs to any analysis root, check whether we're in it now.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44445 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-12 21:46:43 +00:00
scheglov@google.com 9df7bc68b5 Allow sending duplicate notifications.
This will "unfix" dartbug.com/22210 , but at the same time it will
remove most of of expensive AnalysisContext calculations introduced
in https://code.google.com/p/dart/source/detail?r=44305

It reduces "notices" tag percentage from 15 to a little above 3.

Also, we don't produce errors for external sources, which was the
main problem in dartbug.com/22210.

There is also the same expensive computation in execution domain.
I will address it in a separate CL.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44330 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-09 16:57:28 +00:00
scheglov@google.com 60d4a29500 Fix for subscribing for notifications for files in packages.
Unfortunately this fix makes the server about 20% slower.

This is mostly because of the check in scheduleNotificationOperations(),
as required to fix dartbug.com/22210. I think it is much cheaper to send
duplicate notifications, like outline or navigation, than to check if
they should not be sent.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44305 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-06 22:55:20 +00:00
paulberry@google.com e3d272c1dd Don't send notifications for disposed contexts.
This ensures that once analysis.flushResults is implemented, we won't
accidentally send a stale notification for a file after flushing its
results.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44275 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-06 01:15:13 +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
brianwilkerson@google.com 92e3e1b94a Fix notifications for nested packages
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43620 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-09 22:57:44 +00:00
paulberry@google.com b40a5702b3 Fix async/await type checking in analyzer.
This required making the "async" library into TypeProvider so that we
can create Future<...> types when doing resolution and error/hint
checking.

BUG=21888,22053,22091,22092,22160,22164
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43361 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-02 20:58:37 +00:00
paulberry@google.com f9f324ca9b Avoid redundant notifications when a file is analyzed in multiple contexts.
BUG=dartbug.com/22210
R=danrubel@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43315 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 21:42:48 +00:00
scheglov@google.com ad01eca4e2 Fix NPE in tests.
TBR

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42937 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-15 22:09:00 +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
paulberry@google.com d0c5b78efa Add tests for AnalysisServer.getAnalysisContextForSource.
BUG=dartbug.com/21898
R=danrubel@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42422 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-17 02:38:10 +00:00
paulberry@google.com 2546490ed5 Ensure that AnalysisContext futures are completed when context disposed.
It's possible for the analysis server to create or destroy contexts in
the background while the user is working (as a result of changes on
the filesystem).  This ensures that if any code completions are
waiting for analysis when that happens, they are aborted.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42416 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-16 23:41:56 +00:00
paulberry@google.com 27b38e807c Convert analysis_server_test.dart to use reflective tests.
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42413 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-16 22:30:07 +00:00
scheglov@google.com 8affb6c015 Upgrade unittest to be able to use isNotEmpty.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42380 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-16 04:07:37 +00:00
brianwilkerson@google.com 44b69647a3 Rework instrumentation API
R=danrubel@google.com, scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42321 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-12 16:00:23 +00:00
brianwilkerson@google.com 0a8dc970d2 Hooks for instrumentation
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42218 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-09 20:14:42 +00:00
scheglov@google.com 283b78e260 Add --enable-incremental-resolution option.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41971 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-25 20:53:10 +00:00
danrubel@google.com 8745f2073a new onPriorityChanged event stream
BUG=
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41935 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-24 17:56:17 +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
danrubel@google.com fabddbd918 add ContextsChangedEvent
BUG=
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41786 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-17 17:14:48 +00:00
paulberry@google.com 02dada3dec Avoid analysis server crash when reanalyze invoked during analysis.
BUG=dartbug.com/21448
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41372 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-28 21:15:59 +00:00
paulberry@google.com 245168938e Merge analysis server's mocks.dart and mocks2.dart into one file.
There were competing implementations of MockAnalysisContext and
MockSource, but one of the implementations was only used in one place
(analysis_server_test.dart), so it's been switched over to use the
other implementation.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39826 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 19:45:42 +00:00