Danny Tuppeny
2dbf91ff13
Add support for parsing Maps from the LSP spec
...
Change-Id: Ieafcacb3ba2f6be8d3232025d22fa5ec94de5352
Reviewed-on: https://dart-review.googlesource.com/c/85768
Commit-Queue: Danny Tuppeny <dantup@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-12-04 14:27:19 +00:00
Paul Berry
43cd8ba822
Merge commit '4eeebc46cff4e47e6265e86f4774da103d060aa1' into analyzer
...
Conflicts:
pkg/analyzer/CHANGELOG.md
pkg/analyzer/pubspec.yaml
2018-12-03 12:20:40 -08:00
Danny Tuppeny
0a7cf2a513
Allow nulls for union values where the field can be null or undefined
...
Change-Id: If0fea932c1534e8a6a151e67b16ad78cb14ec98d
Reviewed-on: https://dart-review.googlesource.com/c/85743
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Danny Tuppeny <dantup@google.com >
2018-12-03 16:34:16 +00:00
Danny Tuppeny
179b96e796
Remove unnecessary awaits in LSP tests
...
Change-Id: I7a3fb27a43593561b4793514909699d2a09e2f88
Reviewed-on: https://dart-review.googlesource.com/c/85744
Auto-Submit: Danny Tuppeny <dantup@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-12-03 16:32:07 +00:00
Martin Kustermann
2260758ffe
[infra] Make --keep-generated-files work with -n option
...
Makes the --keep-generated-files flag an option for the test.py command
only, not part of a named configuration passed in with the -n flag
and defined in tools/bots/test_matrix.json.
Change-Id: If67c2848cf6fc15e4cb7167ce23eeb3eb9bd1684
Reviewed-on: https://dart-review.googlesource.com/c/85705
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: William Hesse <whesse@google.com >
2018-12-03 15:35:40 +00:00
Paul Berry
7af0ba8dbf
Merge commit '4088bb1302cebbb6922e1292037bc60127f1f852' into analyzer
2018-12-03 07:19:08 -08:00
Paul Berry
9a7f42d05a
Merge commit 'dc346e6fdd89663388f8ae4e6767d6ece597c278' into analyzer
2018-12-03 06:35:54 -08:00
Paul Berry
be529425d2
Prepare for a future breaking change to the UriResolver class.
...
See https://dart-review.googlesource.com/c/sdk/+/85726 for the
breaking change that is anticipated.
Change-Id: I4ba84a0e70bf5b3c62191c053ba9de7aee71ac93
Reviewed-on: https://dart-review.googlesource.com/c/85728
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2018-12-03 14:29:30 +00:00
Peter von der Ahé
16cfb6c922
Remove TypeInferrerDisabled
...
Change-Id: I9ff7f3723c3acb05bc2649cda47b8c516f6523d9
Reviewed-on: https://dart-review.googlesource.com/c/85760
Auto-Submit: Peter von der Ahé <ahe@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-12-03 13:32:58 +00:00
Peter von der Ahé
f9ee5da8f8
Add BodyBuilder.legacyMode getter
...
Change-Id: Ica42e03aed4a0789811bd0d654e1ac9f9a8251c8
Reviewed-on: https://dart-review.googlesource.com/c/85712
Auto-Submit: Peter von der Ahé <ahe@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-12-03 13:20:27 +00:00
Peter von der Ahé
cd6ecf19fa
Clone metadata in BodyBuilder instead of type inference
...
Change-Id: Iaf1344455c45693902d89c866c93395670e56251
Reviewed-on: https://dart-review.googlesource.com/c/85711
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
Auto-Submit: Peter von der Ahé <ahe@google.com >
2018-12-03 13:18:08 +00:00
Peter von der Ahé
4088bb1302
Remove prepareTopLevelInference from base builder API
...
Change-Id: I87fd423c30c184e4775291a0a45176cba618d8e6
Reviewed-on: https://dart-review.googlesource.com/c/85710
Auto-Submit: Peter von der Ahé <ahe@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-12-03 12:33:21 +00:00
Peter von der Ahé
cc003934fc
Use modifiers to store some flags
...
Change-Id: I1848186917d5538266e4eb5d6a76e07435d2d871
Reviewed-on: https://dart-review.googlesource.com/c/85707
Commit-Queue: Peter von der Ahé <ahe@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Auto-Submit: Peter von der Ahé <ahe@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-12-03 12:27:39 +00:00
Peter von der Ahé
0fe6f76ffb
Improve handling of duplicated declarations
...
Change-Id: Ib13a14908c8c6a1fc8e78c1bf5b031317945a344
Reviewed-on: https://dart-review.googlesource.com/c/85682
Commit-Queue: Peter von der Ahé <ahe@google.com >
Auto-Submit: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2018-12-03 10:11:36 +00:00
Paul Berry
6f5d6db9c2
Cherry-pick analyzer CHANGELOG and pubspec from analyzer-0.33 branch.
...
Also includes changes to the kernel and front_end pubspecs, since
those packages are tightly coupled to the analyzer.
These changes were made on the analyzer-0.33 branch in preparation for
previous releases of the analyzer. Merging them to the master branch
makes it easier to keep the pubspec and CHANGELOG files up to date on
that branch.
Change-Id: I08a7bdcd49b6b2396166953131927656eca2c563
Reviewed-on: https://dart-review.googlesource.com/c/85727
Auto-Submit: Paul Berry <paulberry@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-12-01 17:23:47 +00:00
Paul Berry
5b00611568
Revert "Add AnalysisDriver.resetUriResolution() and use it for analysis.reanalyze request."
...
This reverts commit 3428cc6dae .
Reason for revert: Unintentional breaking API change
Original change's description:
> Add AnalysisDriver.resetUriResolution() and use it for analysis.reanalyze request.
>
> This CL changes "analysis.reanalyze" API. We decided to repurpose it. It was not
> used for some time now in IntelliJ, and AFAIK has never been used in VS Code.
>
> R=brianwilkerson@google.com , paulberry@google.com
>
> Change-Id: I7510b0189197c9f3f848b0fc59a7b2bd22889ac7
> Reviewed-on: https://dart-review.googlesource.com/c/85523
> Reviewed-by: Paul Berry <paulberry@google.com >
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
TBR=paulberry@google.com ,scheglov@google.com ,brianwilkerson@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I6a3e874278f4cf976363a0c7f80f7a65a0a03acf
Reviewed-on: https://dart-review.googlesource.com/c/85723
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2018-11-30 21:03:30 +00:00
Jacob MacDonald
f72f07793b
Handle null initializer, this is being hit internally when compiling large
...
projects.
I don't know the exact situation that is being hit here and if something else
is going on, or continuing here is sane. It does appear to work though.
Change-Id: I7cbdf59f954ed80e0a9c71430b5661a335e21d9b
Reviewed-on: https://dart-review.googlesource.com/c/85402
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Jake Macdonald <jakemac@google.com >
2018-11-30 17:07:41 +00:00
Paul Berry
63770042aa
Merge commit '80c23f87a3e3123d7e337c1fc8bc3b5ec49b34a0' into analyzer
2018-11-30 08:12:45 -08:00
danrubel
80c23f87a3
Update more analyzer error codes to be generated
...
This updates more analyzer error codes to be generated
from the corresponding CFE error code.
Several of these analyzer error codes had multiple CFE error
codes mapped to them. In these situations, new analyzer error
codes were added to match the existing CFE error codes:
* EXTERNAL_FACTORY_WITH_BODY
* EXTERNAL_FACTORY_REDIRECTION
* CATCH_SYNTAX_EXTRA_PARAMETERS
Change-Id: Ib1cbb9e04d2092e4859e2cfadbcc85e03093f808
Reviewed-on: https://dart-review.googlesource.com/c/85431
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-11-30 15:00:36 +00:00
Jens Johansen
7f8e6f8bb6
Be more verbose in loops etc in kernel
...
Benchmarks have shown that old-style for-loops are faster than for-in
for instance.
Golem says
ia32
whole stack (i.e. including utf8 and change to VariableIndexer)
AstToBinaryP90 (Intel Core i5) 6.617% (0.4 noise)
AstToBinary (Intel Xeon) 5.158% (0.4 noise)
AstToBinaryP90 (Intel Xeon) 5.104% (0.4 noise)
AstToBinaryP50 (Intel Xeon) 5.148% (0.4 noise)
AstToBinary (Intel Core i5) 6.579% (0.4 noise)
AstToBinaryP50 (Intel Core i5) 6.741% (0.4 noise)
by itself (i.e. compared to a build with utf8 and change to VariableIndexer)
AstToBinaryP90 (Intel Core i5) 0.7724% (0.0 noise)
AstToBinaryP50 (Intel Core i5) 0.7848% (0.0 noise)
AstToBinary (Intel Core i5) 0.8559% (0.0 noise)
AstToBinaryP90 (Intel Xeon) 0.7730% (0.1 noise)
AstToBinaryP50 (Intel Xeon) 0.8195% (0.1 noise)
AstToBinary (Intel Xeon) 0.9319% (0.1 noise)
x64
whole stack (i.e. including utf8 and change to VariableIndexer)
AstToBinaryP90 (Intel Core i5) 5.555% (0.2 noise)
AstToBinaryP50 (Intel Xeon) 6.352% (0.4 noise)
AstToBinaryP50 (Intel Core i5) 5.395% (0.5 noise)
AstToBinary (Intel Xeon) 6.928% (0.5 noise)
AstToBinaryP90 (Intel Xeon) 7.180% (0.5 noise)
AstToBinary (Intel Core i5) 5.824% (0.5 noise)
by itself (i.e. compared to a build with utf8 and change to VariableIndexer)
AstToBinaryP90 (Intel Core i5) 0.1039% (0.0 noise)
AstToBinaryP50 (Intel Core i5) 0.6154% (0.0 noise)
AstToBinary (Intel Core i5) 0.7640% (0.1 noise)
AstToBinaryP50 (Intel Xeon) 1.268% (0.1 noise)
AstToBinary (Intel Xeon) 1.457% (0.1 noise)
AstToBinaryP90 (Intel Xeon) 1.512% (0.1 noise)
Change-Id: If091a3a01f2fe6574712946a01644413033739b6
Reviewed-on: https://dart-review.googlesource.com/c/85341
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-11-30 13:15:47 +00:00
Jens Johansen
17d322b62a
Handle AmbiguousBuilder in computeRedirecteeType
...
We get an AmbiguousBuilder if there are more than one redirecting
factory with the same name. We shouldn't crash though.
Fixes #35266 .
Bug: 35266
Change-Id: I1ac0babdde49c4ca3966e6af5c580191baac0873
Reviewed-on: https://dart-review.googlesource.com/c/85390
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-11-30 12:58:07 +00:00
Jens Johansen
5410bc4098
Fix rare crash in type inference engine
...
Before this CL, running fasta compile on these 3 tests would make it
crash in type inference because the enclosingClass on a constrcutor
is null:
tests/language_2/const_error_multiply_initialized_test.dart
tests/language_2/constructor_duplicate_final_test.dart
tests/language_2/field3_test.dart
Note that these tests are all multi-tests and they are here run
unprocessed. The compiler crashes only after issuing errors.
The crash likely happens because of multiple definitions of
constructors with the same name.
This is a cut-down version that crashed prior to this CL:
```
class C {
final d;
C() {}
C(this.d) {}
}
```
Fixes #35258 .
Change-Id: I350c55428932ef0ae76f78875177b08acf95cdfc
Reviewed-on: https://dart-review.googlesource.com/c/85363
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2018-11-30 12:57:17 +00:00
Jens Johansen
8db293ed70
Lazy VariableIndexer in ast_to_binary.dart
...
Often a VariableIndexer was initialized with no use.
This CL eliminates that by creating it as needed.
Golem says:
ia32
whole stack (i.e. together with the utf8 stuff)
AstToBinary (Intel Xeon) 4.265% (0.3 noise)
AstToBinaryP50 (Intel Xeon) 4.364% (0.3 noise)
AstToBinaryP90 (Intel Xeon) 4.365% (0.3 noise)
AstToBinaryP90 (Intel Core i5) 5.890% (0.3 noise)
AstToBinary (Intel Core i5) 5.772% (0.3 noise)
AstToBinaryP50 (Intel Core i5) 6.004% (0.4 noise)
by itself (i.e. compared to the one with hte utf8 stuff)
AstToBinary (Intel Xeon) 0.4910% (0.0 noise)
AstToBinaryP50 (Intel Xeon) 0.6186% (0.0 noise)
AstToBinaryP90 (Intel Xeon) 0.6415% (0.0 noise)
AstToBinaryP90 (Intel Core i5) 1.974% (0.1 noise)
AstToBinary (Intel Core i5) 1.854% (0.1 noise)
AstToBinaryP50 (Intel Core i5) 2.072% (0.1 noise)
whole stack (i.e. together with the utf8 stuff)
whole stack
AstToBinaryP90 (Intel Core i5) 5.457% (0.2 noise)
AstToBinaryP50 (Intel Xeon) 5.150% (0.4 noise)
AstToBinary (Intel Xeon) 5.552% (0.4 noise)
AstToBinaryP90 (Intel Xeon) 5.756% (0.4 noise)
AstToBinaryP50 (Intel Core i5) 4.809% (0.4 noise)
AstToBinary (Intel Core i5) 5.099% (0.5 noise)
by itself (i.e. compared to the one with hte utf8 stuff)
AstToBinaryP50 (Intel Core i5) -0.6758% (-0.1 noise)
AstToBinary (Intel Core i5) -0.0593% (-0.0 noise)
AstToBinaryP90 (Intel Core i5) 1.292% (0.0 noise)
AstToBinaryP50 (Intel Xeon) 0.6355% (0.0 noise)
AstToBinaryP90 (Intel Xeon) 0.9089% (0.1 noise)
AstToBinary (Intel Xeon) 0.9836% (0.1 noise)
Change-Id: Ia9a86958f9a9280c6ee40695fe3020debb8312a5
Reviewed-on: https://dart-review.googlesource.com/c/85340
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-11-30 12:39:27 +00:00
Aske Simon Christensen
c45abca648
Get rid of double colons in override error messages.
...
Change-Id: Ice49347ab20fcf02971abe724b7233ca5fdf03e5
Reviewed-on: https://dart-review.googlesource.com/c/85582
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-11-30 11:36:23 +00:00
Aske Simon Christensen
8ab76a521a
Use new type printer for bound errors on method calls.
...
Change-Id: I3b098a1fd1d52718e19c37816dd1a19680bdf0f6
Reviewed-on: https://dart-review.googlesource.com/c/85581
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-11-30 11:36:23 +00:00
Jens Johansen
e520f2480a
Do UTF8 encoding slightly differently when serializing kernel
...
Instead of creating two small-ish utf8lists for every string we encode,
do fewer bigger allocations and convert to utf8 via a (new) method that
will hopefully eventually be moved into String.
Golem says:
ia32
AstToBinaryP90 (Intel Core i5) 3.995% (0.2 noise)
AstToBinary (Intel Core i5) 3.992% (0.2 noise)
AstToBinaryP50 (Intel Core i5) 4.015% (0.2 noise)
AstToBinary (Intel Xeon) 3.793% (0.3 noise)
AstToBinaryP90 (Intel Xeon) 3.748% (0.3 noise)
AstToBinaryP50 (Intel Xeon) 3.769% (0.3 noise)
x64
AstToBinaryP90 (Intel Core i5) 4.220% (0.1 noise)
AstToBinaryP50 (Intel Xeon) 4.543% (0.3 noise)
AstToBinary (Intel Xeon) 4.614% (0.3 noise)
AstToBinaryP90 (Intel Xeon) 4.891% (0.3 noise)
AstToBinaryP50 (Intel Core i5) 5.448% (0.5 noise)
AstToBinary (Intel Core i5) 5.155% (0.5 noise)
Change-Id: I0532778d69205a7a187342d3bdfe503c660b1004
Reviewed-on: https://dart-review.googlesource.com/c/84413
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-11-30 11:27:03 +00:00
Aske Simon Christensen
3a52e7bc31
Avoid copying result arrays for nested types in type labeler.
...
Change-Id: Iab38c942d00c0c5d530b12e3c320cee39daeab5c
Reviewed-on: https://dart-review.googlesource.com/c/85583
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Aske Simon Christensen <askesc@google.com >
2018-11-30 10:45:23 +00:00
Jens Johansen
ad62f21e5b
Fix crash with multiple same-named redirecting constructors
...
Without this CL we end up putting a null-reference in the tree because
the parent is never set on the redirecting constructor we try pointing
to.
Fixes #35259 , #35260 .
Change-Id: I8ad520453742ff1de8dd9ca5e619f9edbff9971c
Reviewed-on: https://dart-review.googlesource.com/c/85384
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-11-30 08:53:10 +00:00
Johnni Winther
0a2ed86935
Infer general flow through && and ||
...
Closes #34993
Change-Id: Ifb849e4525ba9e5518932b8fba2ae556fb49acb3
Reviewed-on: https://dart-review.googlesource.com/c/85502
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2018-11-30 08:32:11 +00:00
Jens Johansen
c2bd36e94d
Add --omit_platform as option to fasta.
...
Change-Id: I9f8b7b89a0440bbff8b466ed2e4f2af73c72c023
Reviewed-on: https://dart-review.googlesource.com/c/84428
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-11-30 07:48:15 +00:00
pq
45bf7e9906
validate deprecated lints
...
Change-Id: I83d3dcd2d22d1b5fd4ef8b1af6f06288eb9cd917
Reviewed-on: https://dart-review.googlesource.com/c/85648
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Phil Quitslund <pquitslund@google.com >
2018-11-30 00:07:20 +00:00
Kevin Moore
17a7f513c3
Fix up pubspec for pkg:compiler
...
Removed unused dependencies
Correctly reference repo packages via dependency_overrides
Fix pubspecs for pkg: js_ast, js_runtime, sdk_library_metadata
Change-Id: I2077814f733c299dca7afe3f5ab4b380c2c886e4
Reviewed-on: https://dart-review.googlesource.com/c/85660
Commit-Queue: Kevin Moore <kevmoo@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-11-29 23:33:39 +00:00
Kevin Moore
440f190a34
Cleanup CompilerTask
...
make a number of fields private
Change-Id: Ib44aa3459e5d286004de7cb08e07039dc115894a
Reviewed-on: https://dart-review.googlesource.com/c/85645
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Kevin Moore <kevmoo@google.com >
2018-11-29 22:43:09 +00:00
Paul Berry
1d14b8a94e
Prepare to publish analyzer 0.34.0.
...
Change-Id: I66fe8810655b6ae2089e70d50af327909fecd5e1
Reviewed-on: https://dart-review.googlesource.com/c/85418
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
Reviewed-by: Mike Fairhurst <mfairhurst@google.com >
2018-11-29 22:13:08 +00:00
Konstantin Shcheglov
eb1153c546
Fix for override completion contributions for abstract void methods and setters.
...
R=brianwilkerson@google.com
Change-Id: Ie505e4640095dac1f9a566a32bf9aa9f0a5926e9
Reviewed-on: https://dart-review.googlesource.com/c/85622
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-11-29 19:48:51 +00:00
Paul Berry
73621c71b7
Cherry-pick CHANGELOG from analyzer-0.33 branch.
...
This CHANGELOG entry was made on the analyzer-0.33 branch.
Cherry-picking it over to the analyzer branch ensures that future
analyzer releases based on this branch won't be missing any changelog
entries.
Change-Id: Idb49c6aa2d8ad48e1b7c4bca54cefac2ea62ca46
Reviewed-on: https://dart-review.googlesource.com/c/85621
Commit-Queue: Paul Berry <paulberry@google.com >
Auto-Submit: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-11-29 19:25:31 +00:00
Brian Wilkerson
ec5b4bad99
Fix false positive for sdk constraints (issue 35290)
...
Change-Id: I64164cb97b88dcc0431237cf3a45831fb668c2c5
Reviewed-on: https://dart-review.googlesource.com/c/85620
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2018-11-29 19:12:50 +00:00
Konstantin Shcheglov
3428cc6dae
Add AnalysisDriver.resetUriResolution() and use it for analysis.reanalyze request.
...
This CL changes "analysis.reanalyze" API. We decided to repurpose it. It was not
used for some time now in IntelliJ, and AFAIK has never been used in VS Code.
R=brianwilkerson@google.com , paulberry@google.com
Change-Id: I7510b0189197c9f3f848b0fc59a7b2bd22889ac7
Reviewed-on: https://dart-review.googlesource.com/c/85523
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-11-29 19:08:30 +00:00
Sigmund Cherem
d9c6bc0316
Improvements to verbose timing data printing.
...
- format is padded and includes %
- measure explicitly subtasks of deferred load
- use shorter names for other tasks
Sample output on swarm:
Info: Timings:
kernel loader: 1.407s (17.1%)
Front end: 0.736s (8.9%)
Front end > closures: 0.102s (1.2%)
Front end > worldImpact: 0.586s (7.1%)
Type inference: 1.143s (13.9%)
Deferred Loading: 0.002s (0.0%)
Deferred Loading > prepare: 0.002s (0.0%)
Enqueue: 0.455s (5.5%)
self: 0.914s (11.1%)
*self > impl.run: 0.034s (0.4%)
self > run: 0.206s (2.5%)
self > compileFromKernel: 0.012s (0.1%)
self > computeClosedWorld: 0.364s (4.4%)
self > processQueue: 0.033s (0.4%)
self > emptyQueue: 0.040s (0.5%)
self > applyImpact: 0.146s (1.8%)
self > work.run: 0.076s (0.9%)
SSA builder: 1.002s (12.2%)
SSA optimizer: 1.302s (15.8%)
SSA optimizer > SsaInstructionSimplifier: 0.421s (5.1%)
SSA optimizer > SsaTypeconversionInserter: 0.036s (0.4%)
SSA optimizer > SsaRedundantPhiEliminator: 0.012s (0.1%)
SSA optimizer > SsaDeadPhiEliminator: 0.010s (0.1%)
SSA optimizer > SsaTypePropagator: 0.261s (3.2%)
SSA optimizer > SsaCheckInserter: 0.030s (0.4%)
SSA optimizer > SsaDeadCodeEliminator: 0.067s (0.8%)
SSA optimizer > SsaGlobalValueNumberer: 0.071s (0.9%)
SSA optimizer > SsaCodeMotion: 0.024s (0.3%)
SSA optimizer > SsaLoadElimination: 0.083s (1.0%)
SSA optimizer > SSA value range builder: 0.099s (1.2%)
SSA optimizer > SsaSimplifyInterceptors: 0.048s (0.6%)
SSA code generator: 0.623s (7.6%)
Code emitter: 0.586s (7.1%)
Diagnostic handler: 0.001s (0.0%)
Change-Id: I4af3ff04954b28ee12354bc79eae517169a3b96e
Reviewed-on: https://dart-review.googlesource.com/c/85550
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Sigmund Cherem <sigmund@google.com >
2018-11-29 18:09:20 +00:00
Paul Berry
b72ca19f33
Merge commit 'c9aaa7a654b1cac1307c854ba38f4dc995c86f09' into analyzer
2018-11-29 09:43:36 -08:00
Paul Berry
706776a14d
Merge commit '80c4d3e3c70ba8d0dfcc3fd038f29a388652cf3b' into analyzer
2018-11-29 09:29:09 -08:00
Paul Berry
c7dea39faa
Fix analyzer CHANGELOG.
...
The changelog entry for analyzer version 0.33.5 actually won't be
released until analyzer 0.33.6.
Change-Id: Iab4f2924ef9c8f43b5e81f9cf3ab316f7fc96918
Reviewed-on: https://dart-review.googlesource.com/c/85549
Auto-Submit: Paul Berry <paulberry@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-11-29 17:26:57 +00:00
Danny Tuppeny
a354fd99a8
Add LSP support for flat symbol lists for older clients
...
Change-Id: Id74b34ea295a6733b374a820c6d596a11070f666
Reviewed-on: https://dart-review.googlesource.com/c/85561
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Danny Tuppeny <dantup@google.com >
2018-11-29 16:37:38 +00:00
Aske Simon Christensen
c9aaa7a654
Re-formulation of type bound violation error messages
...
Change-Id: I7f0b99c184b02f6910da054b877b5b5bee86f6bc
Reviewed-on: https://dart-review.googlesource.com/c/85346
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-11-29 13:27:16 +00:00
Aske Simon Christensen
03a1fe30f5
De-duplicate some bound check code.
...
Change-Id: I75cb1b31f8b47525ee18c8d01a3fe534512ad579
Reviewed-on: https://dart-review.googlesource.com/c/85293
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-11-29 13:27:16 +00:00
Aske Simon Christensen
4427bb70bc
Get rid of double colon notation for class members in messages.
...
Type variable bound violations on constructor/factory invocations
now mention just the class name (which is the one that has the type
variables) instead of the constructor/factory name.
Change-Id: I65330f1921451fef0157be01b4a5086855d80439
Reviewed-on: https://dart-review.googlesource.com/c/85291
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-11-29 13:27:16 +00:00
Aske Simon Christensen
820af6ba9e
Test of type variable bound printing
...
Tests that bounds are printed when printing a generic function type,
and that the printer correctly distinguishes between no specified bound
(no bound printed) and explicit Object bound (Object printed as bound).
Change-Id: I747743d902a9eaf66cf65c579051175216960c63
Reviewed-on: https://dart-review.googlesource.com/c/84606
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-11-29 13:27:16 +00:00
Aske Simon Christensen
c959bd98af
Print origins of types in bullet points below error messages.
...
This gets rid of the useless '#lib1::' prefixes on types in error
messages and instead adds a line to the error message for each
interface type appearing in the message stating where that type
originates.
Name clashes are disambiguated by appending markers like '/*1*/' and
'/*2*/' to the types whenever two interface types with the same name
appear in the same message.
The commonly used core types 'bool', 'num', 'int', 'double', 'String'
and 'Null' are excluded from the origin list unless they take part in a
name clash.
Change-Id: I017ea376d4f6ff2d4f3b36487774463f03bb3301
Reviewed-on: https://dart-review.googlesource.com/c/84604
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-11-29 13:27:16 +00:00
Aske Simon Christensen
5198e49ffd
Use new type labeler API in message generation.
...
For now, it uses a dummy implementation that retains the old behavior.
Change-Id: Iab358b73af470b99d5bd0ed59028d96d26bae47f
Reviewed-on: https://dart-review.googlesource.com/c/84603
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-11-29 13:27:16 +00:00
Aske Simon Christensen
aed186ad10
New printer for types and constants
...
Adds labels to ambiguous types and generates a bullet list of the
origins of all raw types contained in printed types.
Change-Id: I9b8a46aa8b1f463c6cd02b9df042075fc1c46404
Reviewed-on: https://dart-review.googlesource.com/c/84602
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-11-29 13:27:16 +00:00