Dmitry Stefantsov
03e22f5fe4
Reland "[cfe] Pass variance through in ReplacementVisitor"
...
This is a reland of a212650da6
Original change's description:
> [cfe] Pass variance through in ReplacementVisitor
>
> Change-Id: I8dc9c1a77c5dfe70ad186bbd6254aaf5353aa0ca
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180900
> Reviewed-by: Johnni Winther <johnniwinther@google.com >
> Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Change-Id: I8e7a6b8acb615c2793062751906830e870b8c513
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/181203
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2021-01-26 17:50:09 +00:00
Dmitry Stefantsov
cc1cc0bb57
Revert "[cfe] Pass variance through in ReplacementVisitor"
...
This reverts commit a212650da6 .
Reason for revert: Regressions detected by the Dart CI bot.
Original change's description:
> [cfe] Pass variance through in ReplacementVisitor
>
> Change-Id: I8dc9c1a77c5dfe70ad186bbd6254aaf5353aa0ca
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180900
> Reviewed-by: Johnni Winther <johnniwinther@google.com >
> Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
TBR=dmitryas@google.com ,johnniwinther@google.com
Change-Id: I678c9f013b1df9c7fe4da043fc1e1b19d3f24168
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/181202
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2021-01-26 16:12:01 +00:00
Dmitry Stefantsov
a212650da6
[cfe] Pass variance through in ReplacementVisitor
...
Change-Id: I8dc9c1a77c5dfe70ad186bbd6254aaf5353aa0ca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180900
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2021-01-26 14:21:29 +00:00
Dmitry Stefantsov
090b17fe99
[cfe] Don't run findTypeArgumentIssues twice
...
From the times where some of the type arguments should have been
reported as warnings, the procedure was run twice in two different
modes, in order to report some issues as errors and some as warnings.
This CL is a cleanup that invokes the procedure once. Additionally, a
refactoring of the return value discipline is made: it always returns
a list and never returns null. An empty list is returned if there are
no issues.
Change-Id: Id497216bf51f49c86517cf16a52f03da5b65b1fd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180570
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2021-01-25 09:53:27 +00:00
Dmitry Stefantsov
2c2cff3a5a
[cfe] Fix nullability miscalculations in UP in the CFE
...
Closes #43479 .
Bug: https://github.com/dart-lang/sdk/issues/43479
Change-Id: I95782f4936e13ee2dab238dca158fd2f367aecaf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180564
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2021-01-22 15:31:48 +00:00
Dmitry Stefantsov
c1a401c5da
[cfe] Implement weak mode constant canonicalization update
...
Closes #44641 .
Closes #44246 .
Bug: https://github.com/dart-lang/sdk/issues/44641
Bug: https://github.com/dart-lang/sdk/issues/44246
Change-Id: I78cb0514a57ab3adafb3639b09ea8930791da030
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/179340
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2021-01-22 12:06:49 +00:00
Johnni Winther
fabf3efda4
[cfe] Refactor ClassHierarchyBuilder to use Tuple for computation
...
Change-Id: I8055552313786814bde6f66214a013a8bedb2078
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/177500
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2021-01-19 19:52:13 +00:00
Johnni Winther
34fb48bb8a
[kernel,front_end] Migrate first wave of pkg/kernel and pkg/front_end
...
Migrates libraries dependent only on already migrated libraries.
Change-Id: I0e85ee8dbc2afce031b92e0009e71c206a55af28
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/179502
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2021-01-18 15:40:21 +00:00
Dmitry Stefantsov
0de9b16e7a
[cfe] Give a hint on erroneous super-bounded types
...
Change-Id: Ifb4caaf8995f9f139fd24b4ae6e9c071a83459ee
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/178240
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2021-01-14 16:25:23 +00:00
Jens Johansen
4ea0bae02a
[kernel] Tools and fixes wrt lazy loading and reachability
...
Change-Id: I191d338097b09ff2211d6d14c6013632190de629
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/178980
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2021-01-13 14:20:28 +00:00
Dmitry Stefantsov
cf8887bd7e
[cfe] Update the conversion algorithm for checking super-bounded types
...
The update is specified in the following:
https://github.com/dart-lang/language/pull/1133
Change-Id: I2850b1acf7c94b8174c21cf899c9b926a03d9cc8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175726
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2021-01-08 11:58:32 +00:00
Johnni Winther
76dcd9e37d
[cfe] Ensure implicit-as and typedef reference are legacy erased
...
TEST=existing expectation tests
Change-Id: I48571347ef95b709a0804d284902ac6af7115afd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/176083
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-12-15 15:34:40 +00:00
Lasse R.H. Nielsen
6e29700e16
Update List constructor documentation, deprecate constructor.
...
Emphasize that the operation is going away,
and mark constructor as deprecated.
TEST= Refactoring+deprecation only, covered by existing tests.
Change-Id: I82aa044cd2cf7bf347b624371399f44bda8f4a07
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173261
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Nate Bosch <nbosch@google.com >
2020-12-07 16:20:28 +00:00
Johnni Winther
74be6670c9
[kernel] Remove CoreTypes from legacyErasure
...
Change-Id: I9692c01ed3bf9982834144dd9eb477a97db5536f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175041
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-12-04 10:03:40 +00:00
Sam Rawlins
1cfe7dd6f6
Remove unused import of dart:async
...
Change-Id: I999e316293c995d831376afb71c340529b9de09c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173460
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2020-11-23 19:36:07 +00:00
Johnni Winther
887ab360e5
Revert "[kernel] Ensure that visitors don't implicitly returns null"
...
This reverts commit 4a3f121341 .
The changes broke flutter/engine
TEST=It's a revert!
Change-Id: I1e65e6cfab03795a21a64a96fe3ed72e6ba8ecd9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172760
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-11-18 14:51:30 +00:00
Johnni Winther
4a3f121341
[kernel] Ensure that visitors don't implicitly returns null
...
This is in preparation to migrate package:kernel to null safety.
For the visitor interfaces to support non-nullable return types, the
implementations must avoid using `null` as return value in its base case.
TEST=Refactoring
Change-Id: I9f9b318982148d844be9826a5f8c88374a9fc402
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172180
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-11-18 11:54:30 +00:00
Johnni Winther
a39ea25627
[cfe] Add test for dynamic access in CFE/kernel code
...
Change-Id: I9cd5aec2bd9b455a099503ca3c55f61659145869
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171726
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-11-15 12:04:47 +00:00
Johnni Winther
b38821f39d
[kernel] Enforce lints in pkg/kernel
...
Change-Id: I954f7632f22b552febed2a3140f81245277cb050
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171581
Reviewed-by: Jens Johansen <jensj@google.com >
2020-11-11 12:51:28 +00:00
Dmitry Stefantsov
d54e2bb568
[cfe,ddc,dart2js,vm] Add NullType
...
This CL is the sum of the following 5 CLs:
* https://dart-review.googlesource.com/c/sdk/+/170342/
* https://dart-review.googlesource.com/c/sdk/+/170344/
* https://dart-review.googlesource.com/c/sdk/+/170345/
* https://dart-review.googlesource.com/c/sdk/+/170346/
* https://dart-review.googlesource.com/c/sdk/+/170347/
The reason for landing the 5 CLs as one CL is to prevent potential
troubles with bisecting over the branch because the change is fully
functional only with all 5 CLs.
Closes #40122 .
TEST=Verified by changes in .expect files in pkg/vm/.
Bug: https://github.com/dart-lang/sdk/issues/40122
Change-Id: Ib8197802fdc69694387ae47ac990c58b3aaab7a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170689
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-11-06 12:43:52 +00:00
Johnni Winther
13704520a0
[cfe] Indicate nullability as assignability issue when appropriate
...
Closes #43592 .
Bug: https://github.com/dart-lang/sdk/issues/43592
Change-Id: Ib57a70526a39a7125238546f08e1a2e97c279f0b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168860
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-10-29 16:10:03 +00:00
Johnni Winther
942f765763
[cfe] Use semantic nullability for "is non-nullable" queries in UP/DOWN
...
Previously declaredNullability was used which missed that FutureOr<Function?>
is nullable.
+ add computation, test and use of NonNull in UP/DOWN
Closes #43742
Change-Id: Icf0b95143a85abb5eec056ee0aea23ef40a5283a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168946
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-10-23 14:58:42 +00:00
Dmitry Stefantsov
319c02c3c0
[cfe] Implement the update in UP for FutureOr types
...
Closes #43721 .
Closes #43677 .
Bug: https://github.com/dart-lang/sdk/issues/43721
Bug: https://github.com/dart-lang/sdk/issues/43677
Change-Id: Iac7840e7699809946830067cd709314c6302986e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/166639
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2020-10-09 13:39:16 +00:00
Dmitry Stefantsov
3b4fe0dc06
[cfe] Use computeRawType in Null Safe UP and DOWN
...
Closes #43536 .
Bug: https://github.com/dart-lang/sdk/issues/43536
Change-Id: I6616739e7ac0eb0be084988cef0460e916a3b448
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/165804
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-10-07 08:40:34 +00:00
Johnni Winther
4292d9cc28
[cfe] Handle required parameters in subtype check
...
+ use legacy erasure on weak mode const object checking
+ changes Null to subtype of Never when ignoring nullabilities
Closes #43606
Closes #43624
Change-Id: Ief695829c550562ec1bfd0c1145cc33c584a4b8a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/165805
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-10-06 08:34:23 +00:00
Dmitry Stefantsov
8881446fea
[cfe] Exclude Object from top types in NNBD instantiate-to-bound
...
Closes #42429 .
Bug: https://github.com/dart-lang/sdk/issues/42429
Change-Id: I97ba450fae324ee04aedb3ff5c8bbe59062b94cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/165640
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2020-10-02 07:08:36 +00:00
Dmitry Stefantsov
d3114bac63
[cfe] Implement updates for UP and type parameters
...
Closes #43455 .
Bug: https://github.com/dart-lang/sdk/issues/43455
Change-Id: Iaf083b21f0cabfd0f6907f0bf0549b643cb08417
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/164092
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-09-24 11:50:20 +00:00
Johnni Winther
f4501b6e83
Reland "[kernel] Rename Name.name to Name.text"
...
Including a deprecated getter to avoid breaking dependent code outside
the Dart repo.
Change-Id: I365957b7c2da6e0cb5c71eb8d2906b0dc6ff18ec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/163062
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-09-17 06:10:49 +00:00
Johnni Winther
644df9b9fb
Revert "Reland: [kernel] Rename Name.name to Name.text"
...
This reverts commit c430a0ac0b .
Reason for revert: Will break flutter_frontend_server when rolled into google3
Original change's description:
> Reland: [kernel] Rename Name.name to Name.text
>
> Change-Id: I5240b0ff09faf35184998920202d7600dc97766d
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/162746
> Reviewed-by: Johnni Winther <johnniwinther@google.com >
> Commit-Queue: Johnni Winther <johnniwinther@google.com >
TBR=jensj@google.com ,johnniwinther@google.com
Change-Id: Ib6961f49dd416171c5d5935c490d79d6f7be779e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/162748
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-09-16 08:22:55 +00:00
Johnni Winther
c430a0ac0b
Reland: [kernel] Rename Name.name to Name.text
...
Change-Id: I5240b0ff09faf35184998920202d7600dc97766d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/162746
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-09-16 07:42:42 +00:00
Daco Harkes
7302e01a79
Revert "[kernel] Rename Name.name to Name.text"
...
This reverts commit 3ff8dd2f51 .
Reason for revert: Fails all CI builders. Possibly something landed
in the mean time.
Original change's description:
> [kernel] Rename Name.name to Name.text
>
> Change-Id: I93162fb387ba123b949e19a7829bd5614845b15d
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/162722
> Reviewed-by: Jens Johansen <jensj@google.com >
> Commit-Queue: Johnni Winther <johnniwinther@google.com >
TBR=jensj@google.com ,johnniwinther@google.com
Change-Id: I2ffe526dabf37ae09d5e4ab1fbe514925f6e8768
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/162744
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
2020-09-15 15:21:35 +00:00
Johnni Winther
3ff8dd2f51
[kernel] Rename Name.name to Name.text
...
Change-Id: I93162fb387ba123b949e19a7829bd5614845b15d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/162722
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-09-15 14:27:22 +00:00
Johnni Winther
3f6af87cd4
[cfe] Use declared nullability in replacement visitors
...
Legacy erasure on FutureOr<T*> would not yield FutureOr<T*>* as intended.
Change-Id: Ie2ec44900ddd2ee0daa7fd8a5b655e568153b59f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/162640
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-09-14 08:40:39 +00:00
Johnni Winther
1d092219a3
[cfe] Move LUB computation to package:kernel
...
Change-Id: I06951e5367dbf5e84d897e38d38ec00fa6115db7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155325
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-07-27 18:41:12 +00:00
Konstantin Shcheglov
58b6f40c73
Issue 42797. Understand in legacy libraries that a function returning Never (in Null Safety library) never returns. (reland)
...
Initial: https://dart-review.googlesource.com/c/sdk/+/155500
Reverted: https://dart-review.googlesource.com/c/sdk/+/155540
Bug: https://github.com/dart-lang/sdk/issues/42797
Change-Id: I5f0f1df594ac678718f347ee80b1764f971e42e1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155541
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-07-23 00:01:12 +00:00
Johnni Winther
34f5c9d0b4
[cfe] Implement new async return rules
...
Closes #41800
Closes #41900
Closes #42134
Closes #42282
Closes #42236
Closes #42169
Change-Id: Ia994bc07fba4e2342fcb59d44fc77608198a328b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152150
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-07-06 07:04:40 +00:00
Dmitry Stefantsov
af124aeb9b
[cfe] Fix bug in dart type equivalence regarding typedef types
...
Change-Id: I0fc7d9227bd63401edfab46777c0ed8f30db5cbc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153083
Auto-Submit: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Nicholas Shahan <nshahan@google.com >
Reviewed-by: Nicholas Shahan <nshahan@google.com >
2020-07-01 17:11:41 +00:00
Johnni Winther
236f3f820d
[cfe] Fix flow analysis in initializers
...
The handling of null shorting in the variable initializer interfered with
the declaration of the variable, making subsequent flow potentially
losing track of promotions.
Closes #42504
Change-Id: Idb17920ffe8746983825714f76160abcca54751b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152760
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-07-01 08:57:18 +00:00
Johnni Winther
7fce125300
[cfe,kernel] Add AstPrinter
...
This CL adds a Node.toText method together with an AstPrinter. These
facility and better toString implementation on AST nodes while allowing
for toString independent printing of AST to use in testing. This also
add support for an integrated toString of custom/internal nodes.
Some work is still needed in bringing the toString implementation on
all nodes to the old quality, and not all internal nodes have
customized textual representations yet. This work is left for future
CLs.
Change-Id: Ib0bf8a0bc02f489dfacdc8aa5f96da9c52f26058
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150923
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-06-16 17:15:10 +00:00
Dmitry Stefantsov
929d5e4a98
[cfe,ddc,dart2js,vm] Add FutureOrType
...
This CL is the sum of the following 5 CLs:
* https://dart-review.googlesource.com/c/sdk/+/149297/
* https://dart-review.googlesource.com/c/sdk/+/149299/
* https://dart-review.googlesource.com/c/sdk/+/149320/
* https://dart-review.googlesource.com/c/sdk/+/149321/
* https://dart-review.googlesource.com/c/sdk/+/149323/
The reason for landing the 5 CLs as one CL is to prevent potential
troubles with bisecting over the branch because the change is fully
functional only with all 5 CLs.
Closes #40123 .
Bug: https://github.com/dart-lang/sdk/issues/40123
Change-Id: Ice52250a98acfe455b1d7fa5bb0624c115ca5dac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150934
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-06-15 12:18:46 +00:00
Dmitry Stefantsov
b5e7966dee
[cfe] Add DartTypeComparator
...
The utility class DartTypeComparator allows to compare two dart types
under various assumptions, such as ignoring nullability at the
top-level type node or equating all top types.
Change-Id: I998e4a0a3ac236077cd1bcd12a5ad146ff10bb1d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149427
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-06-08 16:58:31 +00:00
Johnni Winther
c10b41a4e2
[kernel] Add DartType.toTypeText and Constant.toConstantText
...
These are used to provide a testable textual representation
of types and constants that do not rely upon Node.toString.
Change-Id: Iff77ebb44e8299b262f4f263666b2e1d4dd5794b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147909
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-05-18 11:48:20 +00:00
Dmitry Stefantsov
e53e5f2475
[cfe] Separate nullability and declared nullability
...
For some types it makes sense to distinguish between nullability as a
property of including null and the declared nullability, such as for
type-parameter types and FutureOr types. This CL introduces the
separation between the two concepts. The plan is to use that when
implementing FutureOrType.
Bug: https://github.com/dart-lang/sdk/issues/40123
Change-Id: I90b45bea768e89c213d021d360a481d38377c682
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147903
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2020-05-15 07:38:05 +00:00
Johnni Winther
3f18d37333
[cfe] Implement NNBD_TOP_MERGE update
...
Change-Id: I6b204b5d7def6a9d1dd4709e47f95eb102741489
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144763
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-04-27 16:28:08 +00:00
Johnni Winther
04b6c6a116
[cfe] Handle Null <: Never in mixed inheritance bounds check
...
Change-Id: I994f76b3b4f6d498a8e41f7e34849616960dca08
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142368
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-04-06 15:18:31 +00:00
Johnni Winther
a7f1a5e677
[cfe] Handle A extends FutureOr<B> <: FutureOr<B>
...
Change-Id: Ib5580328f006b033b2c004083b575a2cf5aed551
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141541
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-04-05 06:31:19 +00:00
Johnni Winther
0a9e57419b
[kernel] Make verbose qualified names conditional in toStringInternal
...
Including the library name/uri in types and member names makes these
unreadable in most cases. This changes that default toStringInternal
to omit the library name/uri but supports a verbose mode that includes
the library name/uri for debugging the rare occasions where they matter.
Change-Id: I783e8bd0ac5d2f19c3051e8e7f226b240c8d1bc8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141546
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-03-30 08:41:15 +00:00
Dmitry Stefantsov
dea82cc39a
[cfe] Make instantiation-to-bound algorithm NNBD-aware
...
Closes #40764 .
Bug: https://github.com/dart-lang/sdk/issues/40764
Change-Id: Ia9eff062f54632edbdb26937879742d7a813a07c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139643
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-03-20 09:03:41 +00:00
Dmitry Stefantsov
928f9fc932
[cfe] Remove flag --force-nnbd-checks
...
The checks are now always enabled for the "non-nullable" experiment
Closes #40980 .
Bug: https://github.com/dart-lang/sdk/issues/40980
Change-Id: I32a141a93f0ba86ebdab554e1f312c2147927993
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139440
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2020-03-16 15:01:38 +00:00
Johnni Winther
e865bd89d1
[cfe] Normalize nullabilities in opt out libraries
...
Closes #40526
Change-Id: Idf40bd430fad0f08d7cc117f988bfc5e2b432a46
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139200
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-03-12 21:58:17 +00:00