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
paulberry@google.com
8d8ee25cff
Merge analysis_testing package into analysis_server.
...
Note that analysis_server already contains a file test/mocks.dart, so
the mocks.dart file from analysis_testing has been imported as
test/mocks2.dart. I will merge these two into a single file in a
future CL.
R=scheglov@google.com
Review URL: https://codereview.chromium.org//533243002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39814 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 18:11:42 +00:00
paulberry@google.com
f556420f97
Rename some bools in the analysis server API.
...
R=brianwilkerson@google.com , jwren@google.com
Review URL: https://codereview.chromium.org//508203002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39604 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-27 16:39:49 +00:00
paulberry@google.com
0c0fd777a6
Finish modifying analysis server to make use of code generation.
...
Generated code is used to produce the response to these requests:
- analysis.updateOptions
- analysis.updateContent
- analysis.setSubscriptions
- analysis.setPriorityFiles
- analysis.setAnalysisRoots
- server.shutdown
- server.setSubscriptions
Generated code is used to produce these requests:
- server.shutdown
- server.getVersion
- server.shutdown
- server.connected
Generated code is used to produce these notifications:
- completion.results
- analysis.overrides
- analysis.outline
- analysis.occurrences
Generated code is used to decode these notifications:
- server.status
In addition, some dead code was removed, the 'protocol.dart' and
'protocol2.dart' files were combined, and the fields Response.result,
Request.params, and Notification.params were made private (to
encourage future use of the generated code). Also, some overly
verbose import statements were cleaned up by using "hide" rather than
"show".
R=danrubel@google.com
Review URL: https://codereview.chromium.org//506433002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39516 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-25 10:48:16 +00:00
paulberry@google.com
e18327f317
Make more use of generated code in analysis server.
...
The following generated classes are now used:
- CompletionRelevance
- CompletionSuggestion
- CompletionSuggestionKind
- ErrorFixes
- HighlightRegion
- HighlightRegionType
- HoverInformation
- LinkedEditGroup
- LinkedEditSuggestion
- LinkedEditSuggestionKind
- SourceChange
Generated code is used to produce these notifications:
- analysis.errors
- analysis.highlights
- analysis.navigation
- search.results
- server.error
- server.status
Generated code is used to produce the response to these requests:
- analysis.getErrors
- analysis.getHover
- edit.getAssists
- edit.getFixes
- server.getVersion
Generated code is used to handle these notifications in unit testing:
- analysis.highlights
- analysis.navigation
In addition, these methods have been removed, since they are no longer
needed:
- Notification.getParameter
- Result.setEmptyResult
- Result.setResult
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//497393002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39511 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-24 08:39:41 +00:00
paulberry@google.com
34699f46d5
Start using code-generated protocol classes in analysis server.
...
This updates the handlers for analysis.getErrors,
server.setSubscriptions, and analysis.setSubscriptions with simpler
versions that make use of the code-generated protocol classes, and
replaces the classes AnalysisError and AnalysisService with their
code-generated versions.
It also removes some dead code.
R=jwren@google.com
Review URL: https://codereview.chromium.org//486003003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39376 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-19 18:29:41 +00:00
paulberry@google.com
80352fd61c
Fix analysis server to only send SERVER_STATUS when subscribed to.
...
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//453263002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39065 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-09 16:36:39 +00:00
paulberry@google.com
9f49af72fc
As a temporary measure, allow SDK to be specified on analysis server cmd line.
...
Once the 'analysis.updateSdks' request is functional, this should be
unnecessary. But for now, allow the default SDK to be set via the
command line so that we don't block development of editor plugins.
R=scheglov@google.com
Review URL: https://codereview.chromium.org//394923004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38443 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-21 21:50:59 +00:00
scheglov@google.com
9e33b85c31
Move file_system libraries into 'analyzer'.
...
I still end up including memory FS into 'analyzer' because tests for ResourceUriResolver use it.
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//372763003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38034 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-07 18:57:42 +00:00
danrubel@google.com
64511683b8
send status notification when analysis starts and ends
...
BUG=
R=paulberry@google.com
Review URL: https://codereview.chromium.org//352823005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37734 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-26 11:53:39 +00:00
scheglov@google.com
01c2fbefb1
Index Dart/HTML units after analysis.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//346963006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37707 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-25 21:14:30 +00:00
paulberry@google.com
e9fa53425c
Use "pub list-package-dirs" to resolve package URIs in analysis server.
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//341893010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37552 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-20 14:42:01 +00:00
brianwilkerson@google.com
58ee598e04
Adjust server for API changes
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//337943002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37368 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-16 18:41:04 +00:00
scheglov@google.com
ae59c7e055
Clean ups for warnings and unused code.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//314173003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37039 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-05 17:52:20 +00:00
scheglov@google.com
61dfa442c9
Extract analysis/notifications into a separate operation/file.
...
It seems that while we really have to expose some additional API from AnalysisServer,
it still worth to extract analysis and its notifications into a separate file.
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org//311653002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36899 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-02 21:00:49 +00:00
paulberry@google.com
b703deb077
Add a boolean which causes AnalysisServer to rethrow exceptions.
...
The boolean defaults to true to ensure that any unhandled analysis
exceptions which occur during unit tests are reported as unit test
failures. When the full analysis server is run normally it is set to false
so that exceptions are simply logged.
R=brianwilkerson@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org//302323002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36895 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-02 19:57:41 +00:00
scheglov@google.com
304243bc5b
Add ServerOperation and queue.
...
Schedule operations to perform analysis.
Moving notifications into operations to be done in the next CL.
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org//308003009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36890 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-02 18:31:49 +00:00
brianwilkerson@google.com
128c605a17
Fix the build
...
Review URL: https://codereview.chromium.org//308313005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36875 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-02 14:58:27 +00:00
brianwilkerson@google.com
ae5597140c
First cut at server timing tests
...
R=jwren@google.com , paulberry@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org//303233007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36874 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-02 14:39:33 +00:00
paulberry@google.com
15560d6608
Convert analysis_server_test to use a helper class.
...
Also remove some commented-out tests that are no longer relevant.
R=brianwilkerson@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org//303113005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36837 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-30 21:17:40 +00:00
scheglov@google.com
24c8f1f4b2
Extract constants into separate libarary.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//308703005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36828 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-30 18:37:44 +00:00
scheglov@google.com
35c177c90b
Send 'notification.errors' for all non-SDK files.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//307533004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36743 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-28 15:50:23 +00:00
danrubel@google.com
e7e559942c
add server.status notification
...
BUG=
R=brianwilkerson@google.com , paulberry@google.com
Review URL: https://codereview.chromium.org//298823007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36727 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-28 02:25:20 +00:00
scheglov@google.com
764c6b112c
Partial implementation of the 'setAnalysisRoots' API.
...
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org//300023004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36702 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-27 19:01:14 +00:00
scheglov@google.com
ebd41ed304
Implementation of 'Server Domain' in dart analysis server.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//297153002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36607 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-24 17:36:06 +00:00
scheglov@google.com
555bc4ef2d
New analyzer snapshot.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//294903015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36511 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-22 16:58:29 +00:00
danrubel@google.com
6da2ff1d40
improve analysis server notifications
...
* add context id to error notifications
* add analysis.complete notification
BUG=
R=paulberry@google.com
Review URL: https://codereview.chromium.org//299513003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36363 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-20 16:42:50 +00:00
danrubel@google.com
8b119623e2
update analysis_server_test with expected error code message arguments
...
BUG=
R=paulberry@google.com
Review URL: https://codereview.chromium.org//291023002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36327 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-19 21:27:55 +00:00
danrubel@google.com
88344402e1
move context id constant to AnalysisServer
...
BUG=
R=brianwilkerson@google.com , paulberry@google.com
Review URL: https://codereview.chromium.org//284103005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36263 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-16 17:44:24 +00:00
paulberry@google.com
9271ac7a8f
Rework some analysis server tests using mocks.
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//252373003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35374 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-24 15:05:11 +00:00
paulberry@google.com
22ee284c47
Serialize AnalysisErrors to JSON in the analysis server.
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//247893004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35329 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 20:35:43 +00:00
paulberry@google.com
2424320373
Don't make assumptions about source encoding in analysis server tests (TBR).
...
On Windows, the encoding of an absolute path like "/foo.dart" contains
a drive letter (e.g. "102file:///e:/foo.dart"); on Mac and Linux it
doesn't. Call ".encoding" from the test so that we don't depend on
the specific file name encoding in use.
As a side benefit, this makes the test independent of bug 18379.
Review URL: https://codereview.chromium.org//247143009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35327 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 20:02:18 +00:00
paulberry@google.com
19572ac352
Use AnalysisServer.running only to track whether server has been shut down.
...
Previously, AnalysisServer.run() and AnalysisServer.performTask() also
tried to use this variable to track whether there was a pending call
to performTask() on the event queue. The resulting confusion
prevented analysis from ever running.
It turns out that we don't need to separately track whether there is a
pending call to performTask(), as long as we enforce the invariant
that there is a pending call to performTask() exactly when
contextWorkQueue is non-empty.
R=brianwilkerson@google.com , danrubel@google.com
Review URL: https://codereview.chromium.org//246603005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35323 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 18:35:58 +00:00
paulberry@google.com
0540e6a85b
Eliminate nondeterminism from analysis server unit tests.
...
Previously, we tested for non-responsiveness in the analysis server
using timeout(new Duration(seconds: 1)). This caused sporadic
failures on slower buildbots. Now, we simply let the event loop run
20 times--this should produce consistent results regardless of machine
speed.
R=brianwilkerson@google.com , danrubel@google.com
Review URL: https://codereview.chromium.org//243703008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35221 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-21 19:48:15 +00:00