Commit Graph

2889 Commits

Author SHA1 Message Date
paulberry@google.com e4c8c998ab Ignore bogus links, such as those created by emacs for files being edited.
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37845 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-01 00:51:55 +00:00
jwren@google.com af71a4f377 Change Maps to HashMaps to save in performance, index and generated directories not touched
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37840 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-30 22:40:08 +00:00
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
scheglov@google.com bacedfcbc1 Migrate protocol_test.dart to reflective tests.
1. Drop static.
2. Replace @runTest with 'test_' method name prefix.
3. Drop direct setUp() invocation.
4. Format.
5. Sort.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37605 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-23 15:37:01 +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
jwren@google.com dd026ede46 Nit fix: _HighlighRegion->_HighlightRegion
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37554 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-20 16:04:52 +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
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 1f9492a8da Fix build
Review URL: https://codereview.chromium.org//335203002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37370 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-16 18:56:10 +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
paulberry@google.com 496355971f Unit test context removal
Tests the functionality introduced by r37081.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37317 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-13 15:54:29 +00:00
paulberry@google.com 6c8a5e3289 Use a mock SDK for most analysis server tests.
This should allow the tests to complete quickly on slower buildbots.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37281 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-12 16:52:28 +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
ajohnsen@google.com 419511d97e Clean up the Windows watcher.
BUG=
R=rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37159 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-10 06:48:31 +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 a477868bdb Fix for return type to fix build.
TBR

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37114 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-08 00:40:15 +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 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 1e0c1083d3 Remove 'as dynamic' cast after typed_mock fix.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37054 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-05 22:06:30 +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