Commit Graph

2342 Commits

Author SHA1 Message Date
Konstantin Shcheglov 50d9ec3161 Check types in '_addFix_createConstructorSuperExplicit'.
I was not able to reproduce the problem.
But this might fix the following exception.

Dart analysis server, SDK version 1.13.0, server version 1.12.0, error: Exception from fix contributor: DefaultFixContributor
type 'MethodInvocation' is not a subtype of type 'ConstructorDeclaration' in type cast.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1489823003 .
2015-12-01 13:40:46 -08:00
pq c84ea322ff Fix rolling averages in diagnostic status.
* updates sampler to return `num`s
* migrates status get_handler to one shared handler for diagnostics

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1490623002 .
2015-11-30 21:24:10 -08:00
Konstantin Shcheglov 5b2ad27b06 Issue 25048. Ignore inner analysis roots which are already managed by outer roots.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/25048

Review URL: https://codereview.chromium.org/1487903002 .
2015-11-30 15:01:33 -08:00
pq 723dfb2c88 Diagnostic status reporting (#24932).
Adds a status page for Diagnostic data; notably with timing info which will be handy for getting an informal handle on perf issues (https://github.com/dart-lang/sdk/issues/24932).

BUG=24932
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1489583003 .
2015-11-30 13:02:31 -08:00
danrubel 6fb4f45d6b - move completion contributor extension into new DartCompletionPlugin
- change DartCompletionContributorFactor to return single contributor rather than list of contributors
- remove server field from completion request
- update comments per prior review

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1484853002 .
2015-11-30 13:53:22 -05:00
Konstantin Shcheglov 1933891bad Issue 25057. A static member cannot be implemented.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/25057

Review URL: https://codereview.chromium.org/1488443002 .
2015-11-29 19:20:25 -08:00
Brian Wilkerson 29b3e53207 Remove duplicated stack trace from error notifications
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1480663002 .
2015-11-25 09:15:47 -08:00
Konstantin Shcheglov 6859412fac Issue 24865. Quick Fix 'Create Method' should create named parameters.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/24865

Review URL: https://codereview.chromium.org/1475743003 .
2015-11-24 14:55:39 -08:00
danrubel d176336e59 remove redundant CompletionRequestImpl class
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1469393003 .
2015-11-24 16:17:51 -05:00
danrubel 0168336439 create new Dart specific completion contributor extension point
and modify DartCompletionManager to use it

R=scheglov@google.com

Review URL: https://codereview.chromium.org/1470373002 .
2015-11-24 16:12:55 -05:00
Konstantin Shcheglov c0c11daa15 Disable merging of 'if' statements when there are other staments in the outer one.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1473513003 .
2015-11-24 13:06:20 -08:00
danrubel b9ad8a15e4 hook new DartCompletionContributor API into existing framework
and convert KeywordContributor to use new DartCompletionContributor API

R=scheglov@google.com

Review URL: https://codereview.chromium.org/1471173003 .
2015-11-24 12:03:44 -05:00
danrubel 594183e0db Rework contribution sorter to use futures
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1470863003 .
2015-11-23 21:35:52 -05:00
Konstantin Shcheglov 670db50707 Generate separate navigation regions for 'super' and optional 'name'.
Also support for navigation regions for RedirectingConstructorInvocation.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1465303003 .
2015-11-23 14:27:03 -08:00
Konstantin Shcheglov 0ae251793f Make index provisional API.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1471073002 .
2015-11-23 12:54:55 -08:00
Brian Wilkerson 0a64b0694c Make change builder provisional API
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1468133002 .
2015-11-23 10:18:58 -08:00
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
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
Konstantin Shcheglov 8c324a5b8d Propagate types of final/const top-level variables and fields.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/23001

Review URL: https://codereview.chromium.org/1460213005 .
2015-11-21 09:40:37 -08:00
danrubel 11f9386857 add compiltion unit accessor to completion target
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1457873007 .
2015-11-21 10:07:07 -05: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
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 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 3972dd5e6b Missed import.
Build fix: http://build.chromium.org/p/client.dart/builders/analyzer_experimental-linux-release-be/builds/4658/steps/tests%20/logs/stdio

Review URL: https://codereview.chromium.org/1460843003 .
2015-11-18 17:22:51 -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 b46dd600d0 Remove unused declarations - skip summaries and completion.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1462463004 .
2015-11-18 15:21:01 -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 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
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 c295410852 If analysis is already complete, don't start it again in onFileAnalysisComplete().
This should fix the first two problems you found yesterday in the IDEA / DAS log - start/stop analysis on analysis.getErrors and as a consequence an extra analysis.implemented notification.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1451893002 .
2015-11-16 14:00:51 -08:00
Konstantin Shcheglov 9b7e011920 Optimize 'isWithin'.
Its "in stack" percent is down from 2.82% to 0.16% now.

This makes total MDL project analysis about 3% faster.

Also exchange the 'suffix' arguments to make them consistent with the parent/child order everywhere else.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1444983002 .
2015-11-16 08:45:27 -08:00
Konstantin Shcheglov 508b70bdab Replace Glob implementation.
This makes MDL analysis another 5% faster.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1452473002 .
2015-11-15 12:17:17 -08:00
Konstantin Shcheglov f464e2eddb Use AbsolutePathContext in Folder.contains().
This makes MDL analysis about 5% faster, from 5900 samples to 5600 samples.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1444943003 .
2015-11-15 09:33:16 -08:00
Konstantin Shcheglov b45f941d1e Optimize work with absolute paths.
This significantly improves MDL project analysis time.

Cold VM: 24600 ms -> 21586 ms, about 14% faster.
Hot  VM: 13100 ms -> 10080 ms, about 30% faster.

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

Review URL: https://codereview.chromium.org/1443173004 .
2015-11-14 14:40:47 -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
pq a8ef8cf84e Fix to suppress (redundant) parse error reporting.
Background: https://github.com/dart-lang/sdk/issues/24911

BUG=24911
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1439403002 .
2015-11-13 10:25:29 -08:00
pq eac5a0eb15 Status page indicator for contexts w/o .packages.
For diagnostic purposes.

See: https://github.com/dart-lang/sdk/issues/24900 for more context.

BUG=24900
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1436343002 .
2015-11-12 14:49:40 -08:00
pq 92fdffbf29 Revert package logging (moving to status pages).
Context:

https://github.com/dart-lang/sdk/issues/24900

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

Review URL: https://codereview.chromium.org/1441673003 .
2015-11-12 13:58:47 -08:00
pq 4680736a8f Server notification to indicate pub list-dir fallback.
For diagnostic purposes.

See: https://github.com/dart-lang/sdk/issues/24900 for more context.

BUG=24900
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1438293002 .
2015-11-12 13:24:25 -08:00
pq 60e04f734a Static warning fixes.
The good news is that I reproduced a server issue; the bad news is I landed a change with unnoticed static warnings! :/

(This fixes them.)

BUG=

Review URL: https://codereview.chromium.org/1441763002 .
2015-11-12 10:22:20 -08:00