Peter von der Ahé
8d5b5bba41
Allow for non-function types in alias builders.
...
Change-Id: I735ee2df97a21a5cef38d18bdb35f83117749be6
Reviewed-on: https://dart-review.googlesource.com/c/92042
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-02-05 10:05:32 +00:00
Peter von der Ahé
f45d103d67
Finish implementing IsTypeParameterSubtypeOf
...
Change-Id: I5e37f87946423b4c1373fb49b2ef482172ce2c87
Reviewed-on: https://dart-review.googlesource.com/c/91821
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-02-05 10:05:32 +00:00
Peter von der Ahé
52bd3d9159
Complain about use of deprecated members
...
Change-Id: I76a66cb143027bed83fe6df3c5f19c8a7879a4ca
Reviewed-on: https://dart-review.googlesource.com/c/91926
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-02-05 09:09:04 +00:00
Peter von der Ahé
967b5fbac3
Finish implementing IsFunctionSubtypeOf
...
Change-Id: I5bd0aa4cbf2e5e16771bbfe8bd2d4ee3f8de2862
Reviewed-on: https://dart-review.googlesource.com/c/91820
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-02-01 13:07:57 +00:00
Peter von der Ahé
0d7bdd734a
Ensure that top types are equivalent.
...
Change-Id: I7555a2b505aa750bff6f0050279fbe52608ed760
Reviewed-on: https://dart-review.googlesource.com/c/91800
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-02-01 13:07:57 +00:00
Peter von der Ahé
d44724d0af
Compute default type arguments in Fasta types.
...
Change-Id: Ifc8ab4dedebf1180af7ccaa65dd0ef35fcb37329
Reviewed-on: https://dart-review.googlesource.com/c/91744
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-02-01 13:07:57 +00:00
Peter von der Ahé
7fa0376af7
Implement subtype rules for Null in Fasta types
...
Change-Id: I5ca9e1b16a463ad8101139769b189f3e9d00c52c
Reviewed-on: https://dart-review.googlesource.com/c/91720
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-02-01 13:07:57 +00:00
Jens Johansen
d9072d5272
Re-issue all problems in the incremental compiler
...
Prior to this change, old problems (warnings, errors, etc) would not be
re-issued for files not actually recompiled when recompiling.
As an example, not making any change and recompiling it would seem like
everything was good.
With this change, all problems should be issued again.
Change-Id: Ia410edba27438d8a2f1842d9f4d81d0592571101
Reviewed-on: https://dart-review.googlesource.com/c/91747
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-02-01 12:49:57 +00:00
Peter von der Ahé
b6dc18e21e
Remove legacyMode parameter and delete obsolete version of test
...
Change-Id: Ie50c43641279f9f33e7e9fffb57e6017e4d96b98
Reviewed-on: https://dart-review.googlesource.com/c/90946
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-02-01 11:51:06 +00:00
Peter von der Ahé
33f167b039
Complete the implemention of IsInterfaceSubtypeOf.
...
Change-Id: I0be7af83508536c40ce0e6cdbb0d54d4d8e9dd8b
Reviewed-on: https://dart-review.googlesource.com/c/90945
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-02-01 11:51:06 +00:00
Peter von der Ahé
534825020a
Check intersection types in subtype tests
...
Change-Id: Ib24c11272370c54428c92b2d09fda6e3b29907de
Reviewed-on: https://dart-review.googlesource.com/c/90943
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-02-01 11:51:06 +00:00
Peter von der Ahé
ea0d98d98a
Check FutureOr in subtype tests
...
Change-Id: I1cb401b3e6fdcfc103769380a4297c6ff2c0b6b0
Reviewed-on: https://dart-review.googlesource.com/c/90940
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-02-01 11:51:06 +00:00
Jens Johansen
014124e763
(Some) DiagnosticMessages can be serialized to/from json.
...
This is needed to serialize and deserialize problems to dill and
re-issuing problems as needed.
Change-Id: Id22d1c86f43b1b08c5e5a4d133869075e9b0c100
Reviewed-on: https://dart-review.googlesource.com/c/91743
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-02-01 11:07:27 +00:00
Jens Johansen
eb956a2516
Add synthetic bit to Library flags
...
Fasta can generate synthetic libraries.
Previously we didn't include them when serializing, but that leaves
references in the binary to libraries that doesn't exist which isn't
ideal.
This change includes them, and adds a flag to kernel Libraries such that
we know they are synthetic.
Change-Id: Ied25a21cd1f384d318347021bc7ec18dae3a4e05
Reviewed-on: https://dart-review.googlesource.com/c/91722
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-02-01 11:00:26 +00:00
Jens Johansen
e9597684fe
Fix for incremental compiler swallowing certain errors
...
Prior to this change, problems issued in hierarchy.mixinInferrer could
be swallowed up because it was reported through a wrong loader that
had already issued the error.
Change-Id: Iecbc180ca8a0bfaa73db202e4cba9755812d1e3b
Reviewed-on: https://dart-review.googlesource.com/c/91746
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2019-02-01 10:59:26 +00:00
Peter von der Ahé
d6608f19c0
Check function types in subtype tests
...
Change-Id: I27b38e2a6edc67e13662aa16da2fde13dc2501e9
Reviewed-on: https://dart-review.googlesource.com/c/90922
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-01-31 08:58:10 +00:00
Peter von der Ahé
a6a9d4854b
Start checking type arguments in subtype tests
...
Change-Id: I4832eac17be7129cfe846df0f088e59b8fa9cd6c
Reviewed-on: https://dart-review.googlesource.com/c/90921
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-01-31 08:58:10 +00:00
Peter von der Ahé
85c5082cf4
Support Kernel classes in ClassHierarchyBuilder
...
Change-Id: I0de3cc8c1e51aa3b429fd5aba3cdf7e0e5281154
Reviewed-on: https://dart-review.googlesource.com/c/90706
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-01-31 08:58:10 +00:00
Peter von der Ahé
18ff842341
Start testing Fasta types implementation
...
Change-Id: I93a95319cc6390beaddc36a2b35737a097096fda
Reviewed-on: https://dart-review.googlesource.com/c/90705
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-01-31 08:58:10 +00:00
Dan Rubel
09e6a689c2
parse nested control flow collection entries
...
Change-Id: Id50c0a53a51f076dd75dd5bc13a694663449bc83
Reviewed-on: https://dart-review.googlesource.com/c/91400
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-01-29 17:53:58 +00:00
Dan Rubel
213cfdc85e
Update AstBuilder to generate new for statement structure
...
... if control flow or spread collection entries are enabled.
Change-Id: I8718c1f7a649b7a2a7c9e376a6bf67c1df0542cf
Reviewed-on: https://dart-review.googlesource.com/c/91320
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-01-29 17:53:58 +00:00
Dan Rubel
93a56336a3
Parse simple for control flow collection entires
...
... and address comments in:
https://dart-review.googlesource.com/c/sdk/+/91144
https://dart-review.googlesource.com/c/sdk/+/90901
Change-Id: I7a9288bf28e069832193bd8a196a11f9a407b20d
Reviewed-on: https://dart-review.googlesource.com/c/91300
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-01-29 17:53:58 +00:00
Peter von der Ahé
977e5b31e2
Support type variables on function types and intersection types
...
Change-Id: Ic4f6f26f1e779e9fc084a06f546584f826a6e720
Reviewed-on: https://dart-review.googlesource.com/c/90382
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-01-29 13:29:32 +00:00
Peter von der Ahé
d025ff5367
Copy subtype tests
...
The tests are copied from pkg/kernel/test/type_subtype_test.dart
Change-Id: I1120aa7ae1928fc20982f24fab14925b9ee851c8
Reviewed-on: https://dart-review.googlesource.com/c/90229
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-01-29 13:29:32 +00:00
Jens Johansen
42be4083bd
Reproduction of dartbug.com/35715
...
Get an error saying something like
"The argument type 'dart.core::String' can't be assigned to
the parameter type 'dart.core::String'"
Change-Id: I327c613a2070495653e4089475a4f3edf550e9d4
Reviewed-on: https://dart-review.googlesource.com/c/91228
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-01-28 12:15:41 +00:00
danrubel
56123f08b0
Update parser to support simple if/else control flow in literal lists, sets, and maps
...
Change-Id: I740beea833ed1ad76582ad5232549bd204981808
Reviewed-on: https://dart-review.googlesource.com/c/90901
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-01-24 22:22:50 +00:00
Peter von der Ahé
07ec31dcf1
Create kernel nodes from parsed types
...
Change-Id: I2f56d05c7d6639ec3e3d7848cddcc665d13086a1
Reviewed-on: https://dart-review.googlesource.com/c/90004
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-01-24 18:53:04 +00:00
danrubel
5543fce9a3
add limited support for parsing if control flow entries in lists, sets, and maps
...
This updates the parser to handle two if control flow entries
* `if` condition entry
* `if` condition spread-collection
... and also addresses comments in
https://dart-review.googlesource.com/c/sdk/+/90500
Change-Id: Ibabec8f0f4da918ef4cfe429405dae82ba74c129
Reviewed-on: https://dart-review.googlesource.com/c/90620
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-01-23 17:57:05 +00:00
Daco Harkes
591b52f1c5
[frontend] report transformation error messages through library loader
...
Change-Id: I7280d02e42785742fc800f7e44b1913408dcada5
Reviewed-on: https://dart-review.googlesource.com/c/90460
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-01-23 10:39:07 +00:00
Peter von der Ahé
8b214f4d72
Restore type parser from reify project
...
Change-Id: Ic347890a4146cadb3ad1b6049b562350903505e7
Reviewed-on: https://dart-review.googlesource.com/c/89660
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-01-18 14:09:08 +00:00
Peter von der Ahé
21c42e914e
Compute supertypes
...
Change-Id: I85fd7894b026180b1bc418602c0f09fcfea0a543
Reviewed-on: https://dart-review.googlesource.com/c/89543
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-01-17 14:23:07 +00:00
Peter von der Ahé
ef2e000a52
Share expectation matching
...
Change-Id: I15e8d4c622a7980e170cf38e2ff57738ea57f01c
Reviewed-on: https://dart-review.googlesource.com/c/89521
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-01-17 14:23:07 +00:00
Peter von der Ahé
f3cee0147c
Fast versions of legacy and strong tests.
...
These versions don't run the VM on the generated .dill files.
These tests are still "Slow" in status-file lingo, as they run for
about 30 seconds on a fast machine.
Change-Id: I7bd326a14c8f1f1905d4c6b4d5f850a95b135325
Reviewed-on: https://dart-review.googlesource.com/c/88967
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2019-01-17 14:23:07 +00:00
Sam Rawlins
3154bb0d37
Stop using external deprecated members in front_end
...
Change-Id: I3fa03de568f72bfc3adb46efcfa2b61b781c706b
Reviewed-on: https://dart-review.googlesource.com/c/89020
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-01-15 18:55:10 +00:00
Dan Rubel
21edbbbac6
Add spread collection token to scanner
...
Change-Id: I1932d7c7fa6daba244ad2d93ddc7e2de18100fee
Reviewed-on: https://dart-review.googlesource.com/c/89600
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2019-01-15 16:42:39 +00:00
Aske Simon Christensen
76be911f22
Enable set literals by default in the front-end tests.
...
Set literals can be disabled in individual suites by putting
"enableSetLiterals": "false" into the environment given to
FastaContext.create.
Also fixed a missing file offset on inferred empty set literals
which would trip up the front-end tests.
Change-Id: I76ad03e6ed03eb80045055f83fa0ab9acd62eed6
Reviewed-on: https://dart-review.googlesource.com/c/88722
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-01-11 15:14:05 +00:00
Peter von der Ahé
deb9239790
Compute type arguments of dill types.
...
Change-Id: I6d83ff53d7d56b2c50c221b9dd0d4ff8f0d2a5b7
Reviewed-on: https://dart-review.googlesource.com/c/88718
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-01-11 12:45:43 +00:00
Jens Johansen
05673b80fc
Suggest uploading dill file when failing to initialize from dill
...
Change-Id: I5cbc9ef08581206035b6af3a4fa71d1b6b0bca98
Reviewed-on: https://dart-review.googlesource.com/c/88572
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2019-01-10 09:41:21 +00:00
danrubel
2cb346bd0c
Add support for parsing complex nullable types
...
Change-Id: I38a59f96e299387b7266e46082d876105eb60f1e
Reviewed-on: https://dart-review.googlesource.com/c/88640
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2019-01-08 15:52:54 +00:00
Jens Johansen
199fdb4d9e
Dill loader.builders shouldn't have dart: uris removed
...
Change-Id: I96b2d995058a014af8d23addd66a893b9b740fe6
Reviewed-on: https://dart-review.googlesource.com/c/88569
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-01-08 13:15:14 +00:00
Dmitry Stefantsov
113ca50ba3
[kernel] Add a step to fasta unit tests to check text serialization
...
Change-Id: I8d945fc9d75aad1c4275b6d3dd3f9e2ea884ea9f
Reviewed-on: https://dart-review.googlesource.com/c/88451
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-01-08 10:31:42 +00:00
Peter von der Ahé
0008641bfd
Remove InterfaceResolver.legacyMode
...
Change-Id: Icc4d51dd4d2ff35d2048f8190ca134919c56f6a0
Reviewed-on: https://dart-review.googlesource.com/c/87588
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-01-07 12:41:12 +00:00
danrubel
26d5345fb1
Fix TypeInfo.couldBeExpression in recovery situations
...
Change-Id: Ia9f1735b8ad28dbfcde1f54ac70628e85b65c1d3
Reviewed-on: https://dart-review.googlesource.com/c/88480
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2019-01-04 21:08:35 +00:00
Dmitry Stefantsov
7778a8b6ca
[kernel] Start setting up test suite for round-trip serialization
...
Change-Id: I00920c41a5eaa99a7cc3eececff1caac94b1c1c9
Reviewed-on: https://dart-review.googlesource.com/c/88184
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-01-04 16:05:26 +00:00
Alexander Aprelev
d3a78f9c82
[gardening] Fix hot_reload_e2e_test on Windows.
...
Fixes https://github.com/dart-lang/sdk/issues/31901
Change-Id: I9811f52369402564b7e1c7f36074a65e4095052d
Reviewed-on: https://dart-review.googlesource.com/c/88080
Reviewed-by: Alexander Aprelev <aam@google.com >
Commit-Queue: Alexander Aprelev <aam@google.com >
2018-12-26 20:26:22 +00:00
danrubel
f0377b2f92
Add support for parsing simple nullable types
...
... as part of adding NNBD as outlined in
https://github.com/dart-lang/language/issues/110
This only supports parsing simple nullable types
such as int? and List<int>? while subsequent CLs
will add support for parsing more complex types.
Due to current parser limitations, it also only supports
nullable types in a limited number of statements such as
T? t;
if (x is String?) {}
In addition, address comments in
* https://dart-review.googlesource.com/c/sdk/+/87880
* https://dart-review.googlesource.com/c/sdk/+/87881
Change-Id: Ife4afadc0b72906fc0c4e9b1977ad838041c2a84
Reviewed-on: https://dart-review.googlesource.com/c/87920
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-12-21 12:36:07 +00:00
Peter von der Ahé
26faa44d41
Fix error in incremental test
...
Change-Id: Ib1fd314bfae714935687f971a7c7d102c28998f4
Reviewed-on: https://dart-review.googlesource.com/c/87640
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-12-21 09:49:24 +00:00
Peter von der Ahé
de65d6892a
Remove legacyMode from type inference
...
Change-Id: I78a13470e5707c9d26fe1796ad24ba507d93a9e8
Reviewed-on: https://dart-review.googlesource.com/c/86358
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-12-19 17:21:51 +00:00
danrubel
c52ff42c55
Add TokenStreamGhostWriter for parser lookahead
...
This adds a new TokenStreamRewriter which does not modify the
existing token stream but instead sequences tokens such that the
new tokens lead into the existing token stream.
This is useful when using the parseExpression method
to lookahead and find the next token after the expression.
Change-Id: Id51e015f4381af65220530d07042e306b939baa3
Reviewed-on: https://dart-review.googlesource.com/c/87622
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-12-18 22:01:48 +00:00
Dan Rubel
48093f5f9d
Revert "Add support for parsing simple nullable types"
...
This reverts commit c5fd11b5d6 .
Reason for revert: Conditional expression lookahead may modify the token stream
Original change's description:
> Add support for parsing simple nullable types
>
> ... as part of adding NNBD as outlined in
> https://github.com/dart-lang/language/issues/110
>
> This only supports parsing simple nullable types
> such as int? and List<int>? while subsequent CLs
> will add support for parsing more complex types.
>
> Change-Id: I144858946cb115755af437299899c2631105bf8c
> Reviewed-on: https://dart-review.googlesource.com/c/87501
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
> Commit-Queue: Dan Rubel <danrubel@google.com >
TBR=brianwilkerson@google.com ,danrubel@google.com
Change-Id: Ie1f47e7384ff51159aa2ebeb21561455b8e6287f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/87620
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-12-18 14:32:33 +00:00