Commit Graph

1144 Commits

Author SHA1 Message Date
danrubel 38cec67d03 step toward new completion API
- separate new CompletionContributor and DartCompletionContributor APIs
- revise new APIs and implementations to be Futures based
- revise InheritedContributor to use new Futures based contributor API
- remove unused classes

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

Review URL: https://codereview.chromium.org/1467023002 .
2015-11-23 12:50:12 -05:00
Konstantin Shcheglov 1e05c35650 Issue 25021. Fix for adding new required parameters when optional exist.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/25021

Review URL: https://codereview.chromium.org/1468913004 .
2015-11-23 09:21:11 -08:00
Konstantin Shcheglov ac24bd115c Don't run 'pub list-package-dirs' if there is no pubpsec.lock file.
This should help on DAS startup - if we don't have to run Pub, this saves as much as 400ms for each pubspec.yaml file.
Without pubspec.yaml we won't get any results anyway.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1470793002 .
2015-11-23 09:19:10 -08:00
danrubel 6ce9b7faeb (TBR) fix completion test
Review URL: https://codereview.chromium.org/1469963002 .
2015-11-23 12:09:52 -05:00
danrubel 85334bed8a (TBR) update completion test to expect pass now that this is fixed #23001
Review URL: https://codereview.chromium.org/1465143003 .
2015-11-23 11:15:22 -05:00
danrubel b091bb0b18 general completion contributor cleanup
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1465013002 .
2015-11-23 11:03:01 -05:00
Konstantin Shcheglov 53e9cce24d Quick assist for converting block documentation comments into line ones.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1470753002 .
2015-11-22 19:57:03 -08:00
Brian Wilkerson 277ec360d2 Initial work toward a stress test
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1471443002 .
2015-11-20 15:05:19 -08:00
Konstantin Shcheglov bb1914e175 Make FixContributor asynchronous.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1461313004 .
2015-11-20 14:57:00 -08:00
pq c0466f28f5 Rolling average work queue diagnostic (#24933).
Background: https://github.com/dart-lang/sdk/issues/24933

Salient bits:

* sampling will only start if a client registers interest in diagnostics.
* sampling will stop if clients stop requesting diagnostics.
* sample results are coming back as a string (but a double would be better).
* the mapping of context folders to averages in not garbage collected; since it's only potentially leaking `_Average` objects (and not contexts) when folders are deleted, I think that's fairly benign.

BUG=24933
R=brianwilkerson@google.com, devoncarew@google.com

Review URL: https://codereview.chromium.org/1463923003 .
2015-11-20 14:24:47 -08:00
Brian Wilkerson 4ae8540383 Revert "Clean-up the registration of plugins"
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1465983004 .
2015-11-20 14:04:53 -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
Konstantin Shcheglov ae1bee3859 Make AssistContributor asynchronous.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1461343002 .
2015-11-20 12:18:26 -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
Brian Wilkerson 1367d2d47d Clean-up the registration of plugins
R=pquitslund@google.com

Review URL: https://codereview.chromium.org/1460123002 .
2015-11-20 08:14:14 -08:00
Konstantin Shcheglov 2b59830f49 Convert into block documentation comment assist.
I found out that I don't like the /// style.
So, I'm going to convert the Angular2 analysis plugins to the block style.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1466623002 .
2015-11-20 08:11:28 -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
pq 3a1a3ee094 Embedded options discovery (#24943).
Merges analysis options extracted from `_embedder.yaml` files (potentially) with local overrides.

Background: https://github.com/dart-lang/sdk/issues/24943

For test coverage of merging, see: `analyzer/test/src/util/yaml_test.dart`.

BUG=24943
R=brianwilkerson@google.com, johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1445363002 .
2015-11-18 16:41:27 -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
Brian Wilkerson bc0f99c95a Generalize API, fix bug, format/sort
R=paulberry@google.com

Review URL: https://codereview.chromium.org/1461763002 .
2015-11-18 14:07:44 -08:00
Brian Wilkerson 905cb67e99 Add support for running git in tests
Review URL: https://codereview.chromium.org/1453213002 .
2015-11-18 09:37:14 -08:00
Konstantin Shcheglov 4ed3afeb5e Fix for mapping SDK files to 'dart:' URIs.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/24873

Review URL: https://codereview.chromium.org/1457643002 .
2015-11-17 17:20:15 -08:00
Brian Wilkerson 8c3722e92a Add server utilities for the stress test
R=keertip@google.com

Review URL: https://codereview.chromium.org/1454813002 .
2015-11-17 13:18:04 -08:00
danrubel 6a5ac59b9c process sorter analysis request(s)
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1449333002 .
2015-11-17 10:38:41 -08:00
danrubel eee07a4815 update completion sorter to new API
first step updating to the new completion API

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1447503002 .
2015-11-16 23:01:43 -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
John McCutchan bb4d547a5d Add _embedder.yaml support to analyzer and analysis_server
- If a package has an '_embedder.yaml'  file with an 'embedder_libs' key two things happen:
  1) We do not use the DartUriResolver to resolve dart: libraries.
  2) We use the EmbedderUriResolver to resolve all dart: libraries

- If multiple packages have an '_embedder.yaml' file we merge them.
  - This might not be the final behaviour that we want but I'm not sure how to surface errors to the end user.

- The '_embedder.yaml' file has a top level key 'embedder_libs' which is a map from dart: library uri to source path. Other keys are ignored by the EmbedderUriResolver.

- Unit tests for analyzer
- Integration test for analysis_server.

R=pquitslund@google.com

Review URL: https://codereview.chromium.org/1437893003 .
2015-11-16 15:30:17 -08:00
pq 6d9cb5e48a Move diagnostics to diagnostics domain (#24931).
Still flagged `experimental` so no docs created.

See: https://github.com/dart-lang/sdk/issues/24931

BUG=24931
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1453433002 .
2015-11-16 14:10:10 -08:00
Konstantin Shcheglov 610401a8d5 Fix for the watcher leak.
We need not just to cancel the subscription, but also to remove it from the map.

It's not so bad now for the MDL project, but any similar project will use a lot
of memory even after closign the project. This may be the reason of one of
the issues opened against DAS.

R=brianwilkerson@google.com, paulberry@google.com
BUG= https://github.com/dart-lang/sdk/issues/24613

Review URL: https://codereview.chromium.org/1447603004 .
2015-11-13 18:23:58 -08:00
Konstantin Shcheglov 31b1288f06 Fix for test - don't depend on the order of errors.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1434063002 .
2015-11-11 14:03:54 -08:00
Konstantin Shcheglov 02fe5bcd5a Exclude 'doc' folders.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1439723002 .
2015-11-11 13:10:35 -08:00
Konstantin Shcheglov a19b2985dc Fix for the case when a class appears twice in a type hierarchy.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1406403009 .
2015-11-06 11:14:30 -08:00
pq 82e83bb34d Experimental getDiagnostics request (#24480).
* Adds `getDiagnostics` request with *very* provisional diagnostics payload (primary goal here is to plumb this fully through and iterate).
* Updates codegenerator to skip doc generation for experimental APIs.

Additional context here: https://github.com/dart-lang/sdk/issues/24480.

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

Review URL: https://codereview.chromium.org/1416093007 .
2015-11-05 15:05:21 -08:00
Konstantin Shcheglov f49612ba51 Covering expression offsets/lengths integration.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1411973006 .
2015-11-03 10:45:17 -08:00
Konstantin Shcheglov 069ba985de Fix protocol for EXTRACT_LOCAL_VARIABLE and coveringExpressionOffsets/lengths.
Unfortunately we have to make coveringExpressionOffsets and coveringExpressionLengths optional.
Otherwise new clients cannot correctly parse responses from old servers.

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

Review URL: https://codereview.chromium.org/1407333006 .
2015-11-03 10:19:41 -08:00
Konstantin Shcheglov 128250a9ea Compute covering offsets/lengths.
Drop support for binary expressions fragments.

Reduce number of reported problems, provide best guess results instead.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1431673003 .
2015-11-02 18:22:12 -08:00
Konstantin Shcheglov 765c7fd0f1 Mark HintCode.CAN_BE_NULL_AFTER_NULL_AWARE as fixable.
R=pquitslund@google.com
BUG=

Review URL: https://codereview.chromium.org/1428903002 .
2015-10-30 08:02:29 -07:00
Konstantin Shcheglov 03eed1c3c9 Fix for duplicate priority sources.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1408163008 .
2015-10-29 17:46:00 -07:00
Konstantin Shcheglov 851dc4ea97 Quick Fix for CAN_BE_NULL_AFTER_NULL_AWARE.
Also fix for false positive :-(

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1423993005 .
2015-10-29 13:47:17 -07:00
Konstantin Shcheglov 7b75a53fef Fix for regions reported with multiple targets.
We should merge them into single NavigationRegion(s) with multiple targets.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1403373018 .
2015-10-28 16:38:12 -07:00
pq ff08fe58b6 Stop unwanted sharing between filter closures.
BUG=
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1414863004 .
2015-10-28 13:02:28 -07:00
pq 2f9c4af993 Error Suppression FTW.
R=brianwilkerson@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/1420363005 .
2015-10-28 09:59:05 -07:00
pq c4ccdb462a LineInfo line-end detection fixes.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1413783005 .
2015-10-27 09:39:30 -07:00
pq 808f32d61d Fix to give LineInfo to options error spans.
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1417363007 .
2015-10-26 21:09:48 -07:00
pq 52fb3b3bab Introducing a lint server plugin.
Avoids introducing an unwanted dependency on the options plugin to server (efects discovered: https://codereview.chromium.org/1411313005/). Also soon to be future home for fixes and completions.

BUG=
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1410553005 .
2015-10-26 12:11:38 -07:00
Konstantin Shcheglov cbea0dedf9 Issue 24714. Check other libraries that define unresolved class.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/24714

Review URL: https://codereview.chromium.org/1413973007 .
2015-10-26 11:32:59 -07:00
pq 68dc36a3e7 OptionsValidator plugin extension and linter service.
* Adds a new extension point to allow for contributing OptionsValidators.
* Adds a new linter 'service' to server that contributes a lint-aware validator.

You'll notice that the warning code I added is NOT in `errors.dart`.  I did that in anticipation of plugin-specifc warnings living elsewhere.  If that's not the right angle, happy to un-do!

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1418333002 .
2015-10-26 08:50:55 -07:00
Konstantin Shcheglov 289bd0a056 [Atom] Issue 424. Fix for 'getNavigation' and index expressions.
R=brianwilkerson@google.com
BUG= https://github.com/dart-atom/dartlang/issues/424

Review URL: https://codereview.chromium.org/1402353009 .
2015-10-25 11:29:54 -07: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
danrubel 5bd191ee12 fix import uri completion exception - fixes #24709
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1418123004 .
2015-10-23 14:55:20 -04:00