paulberry@google.com
590021403c
Handle a failure in "pub list-package-dirs".
...
This can happen if the user tries to open a folder that contains no
pubspec.yaml file (and thus no pubspec.lock file).
When this happens, we artificially treat 'pubspec.lock' as a
dependency, so that if the user later creates a pubspec.yaml and runs
'pub get', we will automatically re-run "pub list-package-dirs".
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//365443002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37831 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-30 19:34:59 +00:00
paulberry@google.com
66f969119d
Rerun "pub list" when pubspec.lock changes.
...
(Note: we don't actually hardcode the dependency on pubspec.lock--we
use the "input_files" field of the output from "pub list" which tells
us the dependency).
This required some refactoring: ContextDirectory has been eliminated
and its responsibilities (creating the analysis context, UriResolvers,
and SourceFactory) have been shifted to ContextDirectoryManager and
AnalysisServerContextDirectoryManager. Accordingly,
AnalysisServer.folderMap now maps directly from folder to
AnalysisContext.
Note: we don't yet properly handle the case where one of the
dependencies output by "pub list" is outside of the context folder.
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//341123007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37826 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-30 17:44:37 +00:00
paulberry@google.com
dc603c5455
Add a Resource.parent getter, which gets the parent directory.
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//355453005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37746 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-26 15:03:24 +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
scheglov@google.com
b2016358fb
Update navigation computer to include Element instead of id.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//342983007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37704 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-25 18:49:27 +00:00
scheglov@google.com
19b07ce26c
Element.fromEngine() constructor.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//356563006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37701 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-25 17:21:56 +00:00
scheglov@google.com
0aa39f1e10
A local file-based Index implementation.
...
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org//351813002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37664 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-24 18:08:00 +00:00
paulberry@google.com
940f84df33
Remove dead code for tracking pubspec.yaml files.
...
Now that we are using "pub list-package-dirs" to find the packages
associated with a context, we no longer need to explicitly track the
presence or absence of a "pubspec.yaml" file within the context.
Note that we will have to watch the "pubspec.lock" file in order to
decide when to re-run "pub list-package-dirs", but we'll do this using
a different mechanism, since the decision of which file(s) to watch is
the responsibility of pub, and communicated to us through the JSON
output of "pub list-package-dirs". This will be addressed in a future
CL.
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//353453004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37620 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-23 21:33:18 +00:00
scheglov@google.com
c6bba5ff20
A FileManager implementation to keep each index file in a separate file system file.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//346273005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37615 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-23 20:00:38 +00:00
scheglov@google.com
b5d098a4a2
Move split_store.dart to the store/ folder and extract collections/codecs.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//351453004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37610 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-23 17:18:14 +00:00
paulberry@google.com
87ce2785b6
Allow "null" as a synonym for [] or {} in the analysis server API.
...
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//342383002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37608 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-23 16:51:59 +00:00
danrubel@google.com
0e5687a619
close channel and exit analysis server on editor shutdown
...
BUG=
R=scheglov@google.com
Review URL: https://codereview.chromium.org//349573004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37597 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-23 12:49:24 +00:00
paulberry@google.com
4531158428
Allow multiple dirs per package in the data returned by "pub list".
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//341273007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37565 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-20 20:12:42 +00:00
scheglov@google.com
5f8931c039
Use single quotes for index store.
...
R=paulberry@google.com , brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//347153002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37564 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-20 18:20:53 +00:00
scheglov@google.com
8b273420e3
Explicitly remove AnalysisContext from ContextCodec.
...
R=paulberry@google.com , brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//347133002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37563 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-20 18:18:12 +00:00
scheglov@google.com
bd4cb891ef
Port SplitIndexStore to Dart.
...
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org//348773003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37556 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-20 16:18:19 +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
scheglov@google.com
6b6467a9ca
New analyzer snapshot.
...
R=paulberry@google.com , brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//348673002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37516 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-19 20:58:28 +00:00
paulberry@google.com
1eacc4f343
Add support for adding/removing pubspec.yaml files.
...
Since this probably won't happen very often, we don't go to a great
deal of effort to handle it efficiently--we just destroy the old
context and create a new one.
R=brianwilkerson@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org//340773005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37496 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-19 14:55:27 +00:00
brianwilkerson@google.com
3ada3b02d7
Implement analysis.updateOptions
...
R=paulberry@google.com
Review URL: https://codereview.chromium.org//335123008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37467 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-18 21:27:51 +00:00
scheglov@google.com
4b67b3a4c6
'Element' and 'Outline' implementations for the new server API.
...
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org//340183003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37463 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-18 20:44:24 +00:00
scheglov@google.com
e24abbc13f
Fix for subscribing for notifications after analysis.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//339933006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37455 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-18 17:38:34 +00:00
scheglov@google.com
bf65a5694e
Extract 'DartUnitHighlightsComputer' tests into a separate file.
...
Use constants.
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//338683003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37452 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-18 16:34:08 +00:00
scheglov@google.com
8df494e4b4
PackageMapUriResolver for Dart server.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//337383005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37431 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 22:52:22 +00:00
paulberry@google.com
86d2b07b6b
Change contract for ChangeSet to reflect AnalysisContext behavior.
...
The analysis server relies on changedSources having no effect on files
whose contents are already overridden, and we don't want to rely on
undefined behavior.
This shouldn't affect any clients; we are just specifying the behavior
that already existed.
Also, avoid unnecessarily invalidating analysis when changedSources
contains a source that is already overridden.
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//341533005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37426 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 21:22:20 +00:00
brianwilkerson@google.com
4ad29a2671
Implemented analysis.setPrioritySource
...
R=paulberry@google.com
Review URL: https://codereview.chromium.org//332993006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37412 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 18:44:23 +00:00
paulberry@google.com
3ab000840c
Trigger re-analysis when a file changes on disk.
...
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//332383006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37408 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 18:07:57 +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
paulberry@google.com
b77f98fdbe
Handle null content in ContentChange.
...
R=brianwilkerson@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org//335853003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37328 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-13 20:23:23 +00:00
scheglov@google.com
96d0229ed7
Backport B+ tree implementation from Dart to Java.
...
Only in-memory implementation for in this CL.
Helper classes don't have separate tests yet.
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//338503002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37316 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-13 15:33:26 +00:00
scheglov@google.com
e3df29d333
Fix caching paging during read.
...
Preliminary performance numbers: about 2000 ms to insert 1 million key/value pairs.
Page size is 8K, cache is 16 index nodes and 128 leaf nodes.
Key is Uint32List(7) = 28 bytes and value is Uint32.
I.e. it is basically ElementId to an artificial incremental id.
Keys are sequencial, with randomization every 100 keys - add a random number from the range [-5000, 5000).
I hope that it is a good simulation for our Element keys - they tend to group by libraries and parts.
So, our cache should be able to keep corresponding index/leaf nodes in memory.
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//331603002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37274 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-12 14:25:08 +00:00
scheglov@google.com
4d60770a6f
Tweaks for review comments.
...
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org//327003004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37198 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-10 20:37:16 +00:00
scheglov@google.com
c83879cb66
Some clean ups for caching tests.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//329633002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37194 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-10 19:08:10 +00:00
scheglov@google.com
c2f9e90500
Node cache, binary search.
...
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org//326123002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37188 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-10 17:24:17 +00:00
scheglov@google.com
f4a0a16911
FilePageManager - disk based PageManager.
...
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org//321953002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37158 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-10 05:51:48 +00:00
scheglov@google.com
06c7850c5e
A NodeManager implementation with encoding/decoding keys/values into pages.
...
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org//324743003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37136 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-09 21:13:03 +00:00
scheglov@google.com
ca89ae121e
Create/read/write/delete nodes using NodeManager.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//324623002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37116 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-08 17:07:46 +00:00
scheglov@google.com
1419a83dac
Rename to BPlusTree.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//320723002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37115 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-08 16:19:17 +00:00
scheglov@google.com
ecef37ed13
A simple B+Tree implementation.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//314413004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37113 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-07 21:36:27 +00:00
brianwilkerson@google.com
7e00cff46a
Replace Map with HashMap.
...
I didn't bother with obviously short-lived objects, like those generated in order to produce JSON strings, or with anything in tests, but tried to catch everything else.
R=scheglov@google.com
Review URL: https://codereview.chromium.org//325433003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37094 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-06 19:32:03 +00:00
brianwilkerson@google.com
d871724d03
Remove unused analysis contexts
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//315183004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37081 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-06 15:27:32 +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
c928073e3d
Updates for the Outline API and use it in Editor.
...
R=brianwilkerson@google.com , jwren@google.com
BUG=
Review URL: https://codereview.chromium.org//311053005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37033 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-05 17:01:07 +00:00
scheglov@google.com
1af57c302e
Outline notification implementation in server.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//319523004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37025 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-05 01:38:02 +00:00
scheglov@google.com
94404cc0a4
Split computers.dart and use parsed JSON objects for navigation tests.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//315053005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37007 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-04 20:20:35 +00:00
scheglov@google.com
112890821b
Fix for implicit constructor invocation navigation regions.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//313753002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36994 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-04 14:16:29 +00:00
scheglov@google.com
80d8779110
Navigation computer and two variants of tests for it.
...
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org//314493002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36958 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-03 23:14:47 +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