Commit Graph

196 Commits

Author SHA1 Message Date
Paul Berry 4f654473ff Merge remote-tracking branch 'origin/master' into analyzer-breaking-0.27 2015-12-06 08:41:24 -08:00
pq 80dfbafe28 Context-specific configuration status reporting.
* Fixes status page to show options per-context.
* Adds lints and error filter reporting.

BUG=
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1495303002 .
2015-12-04 15:50:00 -08:00
Paul Berry 7d3c4743db Merge remote-tracking branch 'origin/master' into analyzer-breaking-0.27 2015-12-03 14:22:24 -08:00
Brian Wilkerson 090459ca08 Report targets will null entries (prevents an NPE)
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1497083003 .
2015-12-03 13:46:48 -08:00
Brian Wilkerson b9644af695 Remove the old task model
Review URL: https://codereview.chromium.org/1490233007 .
2015-12-03 10:14:06 -08:00
Konstantin Shcheglov 93072d7825 Include tokens of Function/MethodDeclaration into AST view.
It helped to identify the "The null object does not have a getter 'variable'" problem.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1493893006 .
2015-12-03 10:00:05 -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
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
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
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
Brian Wilkerson e1c39602ba Guard against null pointer exception in status page generation
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1440693004 .
2015-11-11 14:54:57 -08:00
Konstantin Shcheglov 0e712ea00c Remove task inputs performance statistics.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1432293002 .
2015-11-11 10:04:17 -08:00
Konstantin Shcheglov e4fae0658d Tweaks for the status page.
1. We need to escape Element toString().
2. Wrap separate lists into <li>.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1416603008 .
2015-11-06 12:47:44 -08:00
pq 9e9b7c0aaf Add Server PID to Server Status page.
BUG=
R=brianwilkerson@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/1415573012 .
2015-11-04 09:25:42 -08:00
Konstantin Shcheglov c43f292dd9 Remove IMPORT_EXPORT_SOURCE_CLOSURE and IS_CLIENT results.
This improves warm VM analysis time (i.e. 99% of all analyzis that happens in IDEs) from 7200 ms to 6600 ms.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1417143003 .
2015-10-24 08:35:26 -07:00
pq df580cf0ea WorkItem detail diagnostics.
R=keertip@google.com

Review URL: https://codereview.chromium.org/1418323002 .
2015-10-23 14:48:24 -07:00
keertip c133bf9467 add work item info to context status page
BUG=
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1415503006 .
2015-10-23 13:27:10 -07:00
pq d12abed5d7 Last performed task diagnostics.
Adds a new block of status that reports the last 10 performed tasks.

For example:

<p>Recent Tasks</p>
GatherUsedLocalElementsTask for source /Users/pquitslund/src/git/clones/analyzer_cli/test/mocks.dart

GatherUsedImportedElementsTask for source /Users/pquitslund/src/git/clones/analyzer_cli/test/mocks.dart

GenerateHintsTask for source /Users/pquitslund/src/git/clones/analyzer_cli/test/mocks.dart

GenerateLintsTask for source /Users/pquitslund/src/git/clones/analyzer_cli/test/mocks.dart

VerifyUnitTask for source /Users/pquitslund/src/git/clones/analyzer_cli/test/mocks.dart

LibraryUnitErrorsTask for source /Users/pquitslund/src/git/clones/analyzer_cli/test/mocks.dart

DartErrorsTask for source /Users/pquitslund/src/git/clones/analyzer_cli/test/mocks.dart

LibraryErrorsReadyTask for source /Users/pquitslund/src/git/clones/analyzer_cli/test/mocks.dart

GetContentTask for source /Users/pquitslund/src/git/clones/analyzer_cli/.analysis_options

GenerateOptionsErrorsTask for source /Users/pquitslund/src/git/clones/analyzer_cli/.analysis_options

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

Review URL: https://codereview.chromium.org/1420783004 .
2015-10-23 10:31:26 -07:00
Konstantin Shcheglov 07acac8b8e Compute and display tasks input timings.
It's not perfectly useful - it computes just cumulative timings.
So, it includes not just time for extracting and gathering inputs, but also actual time to compute them.
But it is still useful to compare between runs after changes to tasks inputs, because computing time
should be the same, so the difference is this extracting/gathering time.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1406983007 .
2015-10-23 09:38:24 -07:00
pq 6c85fe785a Analysis Options error notifications.
R=brianwilkerson@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/1411013003 .
2015-10-21 09:59:19 -07:00
Leaf Petersen 4ca8a3f19b Strong mode checker integration. This integrates jmesserly's CL, and adds a task for computing strong mode errors and an annotated unit.
BUG=
R=brianwilkerson@google.com, jmesserly@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/1396273004 .
2015-10-13 10:16:35 -07:00
Brian Wilkerson 9ad256cf18 Move the wire protocol support into the public API
R=paulberry@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/1398293002 .
2015-10-11 07:34:28 -07:00
Konstantin Shcheglov 307612582b Show UsedLocalElements and parts ASTs on the status pages.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1392173002 .
2015-10-07 21:41:17 -07:00
Brian Wilkerson 870d9196ee Add dependency information to the status pages
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1392863003 .
2015-10-07 16:58:19 -07:00
Leaf Petersen 651221bb82 Resolve ordering issues.
This CL changes the way that the task model does strong mode inference to use the strongly connected components in the import/export graph.  Library cycles are computed and inference is staged by forcing each stage of inference to happen across an entire library cycle at once, and to force all external dependencies of a library cycle to have completed inference before inference for the library cycle can begin.

BUG=
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1386023002 .
2015-10-07 16:14:35 -07:00
pq fe76c6f3c4 Lint support for the new task model.
Related bug: https://github.com/dart-lang/analyzer_cli/issues/64

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1385293002 .
2015-10-06 16:45:45 -07:00
Brian Wilkerson 7aa459affd Add more performance data
R=scheglov@google.com

Review URL: https://codereview.chromium.org//1363653005 .
2015-09-23 07:44:44 -07:00
Brian Wilkerson 163ad75127 Fix status pages when running new task model
R=scheglov@google.com

Review URL: https://codereview.chromium.org//1351243003 .
2015-09-22 11:03:56 -07:00
Brian Wilkerson 42d1d4532d Reformat code to minimize churn
R=scheglov@google.com

Review URL: https://codereview.chromium.org//1310263003 .
2015-09-09 08:19:18 -07:00
Brian Wilkerson c3b12a65ba Add a task to partially resolve a compilation unit
R=leafp@google.com, paulberry@google.com

Review URL: https://codereview.chromium.org//1321523002 .
2015-08-26 11:22:03 -07:00
Paul Berry 03a156c891 Plumb "enableSuperMixins" option through analysis server (implements DEP 34).
Partially addresses #23772.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//1301533003 .
2015-08-20 09:47:26 -07:00
Paul Berry e93b52a66f Deprecate option "enableNullAwareOperators" in analysis server.
As of analyzer version 0.25.2, this option is no longer needed;
null-aware operators are always enabled.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1255113005 .
2015-07-28 11:31:03 -07:00
Paul Berry b3da0bd138 Move _onContextsChangedController and defaultOptions into AnalysisServer.
This eliminates the need for some ugly casts.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1251563002 .
2015-07-21 11:34:18 -07:00
Paul Berry 128dec84b5 Separate the API's used by ContextManager.
Previously, ContextManager had two API's: one used by analysis server
to tell the ContextManager what to do, and one used by the
ContextManager to make callbacks to analysis server in response to its
requests.  The first API was implemented in the class
AbstractContextManager, which derived from ContextManager, and the
second API was implemented in ServerContextManager, which derived from
AbstractContextManager.

In addition to causing confusion, this made it impossible to provide
an alternate implementation of ContextManager as a plug-in, since the
plug in would have had to re-implement the second API, and that would
have required accessing private implementation details of the
ContextManager.

This CL separates the API's: the first API is specified in
ContextManager and implemented in ContextManagerImpl, and the second
API is specified in ContextManagerCallbacks and implemented in
ServerContextManagerCallbacks.

In the long run I hope to eliminate the ContextManagerCallbacks class
entirely, by having the ContextManager tell its client what to do
using return values rather than callbacks.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1243893002 .
2015-07-21 10:40:57 -07:00
Brian Wilkerson 0c6872acef Hook for overriding the ContextManager and some code clean-up (with more to follow)
R=paulberry@google.com

Review URL: https://codereview.chromium.org//1223413003 .
2015-07-13 10:20:13 -07:00
Brian Wilkerson dd9fa13157 More GetHandler clean-up
R=scheglov@google.com

Review URL: https://codereview.chromium.org//1221703003.
2015-06-30 07:49:32 -07:00
Brian Wilkerson 0513859704 Re-implement the status page for the new task model
R=scheglov@google.com

Review URL: https://codereview.chromium.org//1211243003.
2015-06-29 12:20:19 -07:00
Paul Berry 717da6731b Eliminate Modifier.TYPEDEF and deprecate ClassElement.isTypedef.
Modifier.TYPEDEF was redundant with Modifier.MIXIN_APPLICATION and
ClassElement.isTypedef was redundant with
ClassElement.isMixinApplication.

Since Modifier.TYPEDEF was private to analyzer, it has been
eliminated.  Since ClassElement.isTypedef is part of the public API to
analyzer, it is retained, but with a "@deprecated" annotation.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//1158193008
2015-06-01 14:17:40 -07:00
brianwilkerson@google.com 2eafc9fc9c Display synthetic nodes on status page
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44493 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-15 16:03:25 +00:00
brianwilkerson@google.com cd58e290c4 Reformat
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44151 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-02 22:43:12 +00:00
brianwilkerson@google.com 298747c23e Add properties to the element tree
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43801 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-16 21:41:50 +00:00
brianwilkerson@google.com 06b1a16819 Include source info in status AST dump
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43708 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 00:41:38 +00:00
brianwilkerson@google.com 937c4be45d Add index search support to AST and element model pages
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43665 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-10 20:11:27 +00:00
brianwilkerson@google.com cd996f37bf Improve error reporting on status page
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43374 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-02 23:34:29 +00:00
paulberry@google.com 14d008359d Use UTF-8 when serving web pages for analysis server debug.
This avoids the need to encode unicode characters using hexadecimal
escape sequences.

(Note that setting the charset using response.headers.contentType
affects the encoding used by both client and server.)

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43045 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-21 17:57:57 +00:00
brianwilkerson@google.com 0b975704b5 Alternate status page
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43020 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-20 18:46:44 +00:00