Dmitry Stefantsov
ae0eca8318
[cfe] Add text serialization support for libraries
...
Change-Id: Ia36efcc433df573abf2f82c1b402fa031276c652
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143587
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2020-04-17 07:27:06 +00:00
Dmitry Stefantsov
3fa2d81240
[cfe] Add serialization support for top-level methods
...
Change-Id: Ie2f949142dc8fd97a0ad937b1ccc38918f3aae87
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143584
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2020-04-16 10:52:01 +00:00
Alexander Thomas
3c85da7778
[release] Bump version to 2.9
...
Change-Id: I2fc393cbb7a9111f4c09db6a2a7a202eeb88992c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142996
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-04-15 18:36:42 +00:00
Johnni Winther
eb18db2116
[cfe,kernel] Add Field.isInternalImplementation
...
This bit is required to support synthesized field used for the late
lowering. These fields should not be seen as part of the interface,
that is, classes that implement the class declaring the late field should
not be required to override these fields.
Closes #41436
Change-Id: I9a98322bdd1842b46bde34fff1176a7577672e0f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142998
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-04-15 13:46:43 +00:00
Martin Kustermann
e2b6cc93b6
[vm/async] Update async transformation to take NNBD mode into account
...
The removal of unsafeCast causes flutter galley size regressions:
- armv7: -0.43%
- armv8: -0.21%
which we should look into recovering by having better inlining heuristics.
Issue https://github.com/dart-lang/sdk/issues/41373
Closes https://github.com/dart-lang/sdk/issues/41307
Change-Id: I7c0ba4c9598e13f01e807a607c83d50cf03e9abe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142501
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2020-04-11 08:56:52 +00:00
Anna Gringauze
9f65693f57
Use offset for detecting scope in ExpressionCompiler
...
ExpressionCompiler currently translates offsets of scopes to line
numbers during the binary search in the library in order to find
the inner-most scope containing the line where debugger has stopped.
This results in many offset-to-line translations per evaluation request,
each translation also performing a binary search in Source.lineStarts
table.
To make scope lookup more efficient, this change uses Source.lineStarts
table to find the offset for the debugger stop once, and uses integer
offset comparisons instead in the scope binary search.
Closes: https://github.com/dart-lang/sdk/issues/40281
Change-Id: I72052b144d15acef684a5f8d29b40f6c5774b723
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142461
Commit-Queue: Anna Gringauze <annagrin@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-04-09 22:29:14 +00:00
Johnni Winther
0d16ff6d86
[cfe] Handle static type of access on Never
...
Closes #41273
Change-Id: Ia236481ab47033198d7952086cdf5c9c8f5a34b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142366
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-04-08 08:46:02 +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
32f82b5852
[CFE] Add NNBD compilation mode into kernel component
...
Fixes https://github.com/dart-lang/sdk/issues/41311
Change-Id: I2f4345f8ca7a31da705fcae37a28a8b801feb5e3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142149
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-04-06 14:00:01 +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
Martin Kustermann
c4a7c3488e
[vm/async] Make async transformer use typed variables, make async patch use function types
...
This gets rid of a slow AssertAssignable (function type test)
in _asyncThenWrapperHelper/_awaitHelper, which currently falls back to the slow table
search:
AssertAssignable
^--> TypeTestingStub
^--> SlowTypeTestStub
^--> Subtype6TestCacheStub
Issue https://github.com/dart-lang/sdk/issues/37668
Change-Id: I3b6517b7e348e39619e8096d6ac2a4b179bb3242
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142022
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Clement Skau <cskau@google.com >
2020-04-03 08:28:47 +00:00
Johnni Winther
46bb15edf3
[cfe] Fix inheritance test data discrepancies.
...
Change-Id: I367aace60324a7755f795d2f24aaf0d138bc8d59
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141602
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-04-02 13:14:39 +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
Jens Johansen
3e053b7da2
[kernel] Polish toString implementation on AST nodes
...
Change-Id: I0c21ded156243d8f8ff178d1b31bf0512758ebe1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141101
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-03-27 07:33:38 +00:00
Johnni Winther
d2e96aa6d3
[cfe] Report error on (un)assigned late variables
...
Closes #40601
Closes #41103
Closes #40946
Change-Id: I1a28f497ffe0be3d1f9e673f1e8be7a518bbfc7e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140403
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-03-23 14:48:53 +00:00
Jens Johansen
feefcf0c94
[kernel/CFE] Simplified toString on (ast) nodes
...
This is a bare-bones implementation (and test) for having an explicit
toString on all `Node`s.
This can then be extended as-needed to better suit our debugging
purposes. It's not allowed to leak, though.
Change-Id: I8d3f5a9cd13b292ed7a6bf33762e507286f3fa7d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139805
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-03-23 10:25:23 +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
Jens Johansen
532a602fef
[kernel] Rewrite verify test
...
Prerequisite for changing toString on ast nodes.
Change-Id: I295e201df160b158b4ea709c61e525206efb5523
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140063
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-03-20 06:46:50 +00:00
Johnni Winther
6dff390dec
[cfe] Compute consolidated supertypes
...
Change-Id: Ifa2303afd61af184b171f13f5959b0786273cedb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140041
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-03-19 15:26:09 +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
Johnni Winther
ae2a25c537
[cfe] Handle FutureOr in late lowering
...
Closes #40783
Change-Id: Ia3afff050df8719bd7574c753639cde1ca321eff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138930
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-03-12 21:55:46 +00:00
Dmitry Stefantsov
029c8f1cee
[cfe] Use Supertype instead of InterfaceType in ClassHierarchyBuilder
...
Change-Id: I1a11ce32237480c0eddf50a7a86cd56b89116e77
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138801
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-03-09 12:57:17 +00:00
Jens Johansen
e8c58a7a3d
[CFE] Add ability to compare CompilerOptions
...
This is (intended to be) a small step towards removing the batch compiler.
Change-Id: I201c56b6d33420f91d2f4b989682670cd8d6a387
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138508
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-03-09 09:11:57 +00:00
Clement Skau
b681bfd8d2
[VM] Fixes bad reuse/typing of temps in async transform invocations.
...
For a method invocation temps might get allocated for both the receiver
and argument(s) so that:
A().foo(await null)
becomes:
Future<void> tmp0
...
tmp0 = A() // <- Type mismatch.
yield ...
tmp0 = tmp0.foo(:result) // <- Correct type.
This happens because the liveness analysis finds that the (previously
dynamic) temps can be reused.
Unfortunately 121988 added typing information to these temps, which
means they can't be simply reused in all cases.
This fix makes the temps dynamic again (by removing the type) but adds
unsafecasts to all VariableGets to propagate the know type.
Bug: https://github.com/flutter/flutter/issues/51828
Change-Id: I89c82763e0d4f8b102bb55dec3b694d017345517
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138500
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Clement Skau <cskau@google.com >
2020-03-06 12:20:45 +00:00
Jens Johansen
4e2a1a1b0f
[CFE/kernel] Generate dart files with versions in them from tools/experimental_features.yaml
...
Use the version from tools/experimental_features.yaml as the current
language version (as specified in kernel).
Use the "enabledIn" from tools/experimental_features.yaml to write out
the major and minor version for enabling features. This replaces the
hard-coding of when nnbd is enabled (in front-end).
Change-Id: I5b5dd7c2bb0c1a412ef1e660dfbe61e227193e1b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138284
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-03-04 14:15:05 +00:00
Jens Johansen
70b4ffae4b
[kernel] Delete limited_ast_to_binary.dart
...
Change-Id: I11277942cd8bb9f3f3b875233934ec0281c0369b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138085
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-03-04 11:45:55 +00:00
Jens Johansen
12df258354
[kernel] Small cleanup of binary printer
...
Change-Id: I3d5f6d145811e24fa4cb2936fb8fedf1c00d86b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138084
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-03-04 11:43:35 +00:00
Jens Johansen
1b41780198
[kernel] Investigative inspection into BinaryPrinter
...
This CL investigates some properties around the BinaryPrinter in the form
of non-optional-assert-like-things.
Said another way, if the assumptions added here are wrong, we'll crash,
but if the bots doesn't explode the assumptions are probably true and
we can procede from there.
Change-Id: Ia366be0e81164a4004f6d6764002cbb0f7383008
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137978
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-03-04 07:21:03 +00:00
Johnni Winther
c1ff1cbaae
[cfe] Merge clone with existing procedure in mixin transformation
...
This ensure that any existing references to the original procedure
will correctly refer to the cloned procedure after transformation.
Change-Id: I08f561f11e88d717041009e6a9bd9bb6e8054d88
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137976
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-03-03 13:52:11 +00:00
Johnni Winther
fbe9f6115d
[cfe] Handle Object* in NNBD_TOP_MERGE
...
Closes #40481
Change-Id: I5f1060b137e9855106873b2173930d3ebed69930
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137921
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-03-02 12:15:50 +00:00
Johnni Winther
5800997ed7
[cfe] Correctly merge nnbd signatures
...
Change-Id: I33e55f6ba4c2822c790667a06e0456410696ca04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137920
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-03-02 12:15:50 +00:00
Alexander Markov
88be7d1cae
[cfe] Fix hasImplicitSetter for late final fields
...
Unlike other final fields, late final fields without initializers have a
corresponding implicit setter. Previously, front-end was setting
Field.hasImplicitSetter to false for late final fields.
As a result, ClassHierarchy.getDispatchTarget was not returning such
field as a dispatch target for a setter invocation and TFA was inferring
incorrect types for late final fields (as if all setters for late
final fields disappeared).
Change-Id: I8f55f7ec8afa38e8cc3f54f85bd66c0381ae6318
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137701
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Auto-Submit: Alexander Markov <alexmarkov@google.com >
2020-02-28 07:59:44 +00:00
Johnni Winther
60582b3d7a
[cfe] Handle future or fields
...
Change-Id: Ie915ca0824f983966e5017e899a02d50ad14b091
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136978
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-02-26 09:53:30 +00:00
Johnni Winther
2ce1df7630
[cfe] Handle compilation from agnostic dill
...
Change-Id: Iecf2fda94ba1029931151b0d45d013da065859d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136965
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-02-25 12:10:20 +00:00
Johnni Winther
aa31a9162b
[cfe] Support constant evaluation in agnostic mode
...
Change-Id: Ia33ea19a091b1172eb9b4125f5f30a625886d34e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136632
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-02-24 13:29:05 +00:00
Clement Skau
ad118b1718
[Kernel] Fixes bug in async transform causing reuse of temps.
...
Certain nodes will delimit(..) an Expression to some Statements, which
was resetting the temp nameIndex.
This meant any sub-expressions that generated temps would not cause the
outer expressions to see those already used temps.
Bug: https://github.com/dart-lang/sdk/issues/40662
Change-Id: Ife07052ab756b9d05f34f69380614c7eb7309a4c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136224
Commit-Queue: Clement Skau <cskau@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2020-02-21 07:35:16 +00:00
Dmitry Stefantsov
b7aff59973
[cfe] Report errors on case expressions without primitive equality
...
Bug: http://dartbug.com/40425
Change-Id: Ied2da91cc32b84f6e64c0b76541e020d1a2447b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136227
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-20 13:39:09 +00:00
Alexander Aprelev
612728f970
[frontend-server] Only set VM environment defines for VM compilation target.
...
Fixes https://github.com/dart-lang/sdk/issues/40669 .
Change-Id: I9e58deed5d2c67c953de7dae10ccbf9c46ab6fd5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136411
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Jake Macdonald <jakemac@google.com >
Commit-Queue: Alexander Aprelev <aam@google.com >
2020-02-20 03:05:25 +00:00
Dmitry Stefantsov
59045afd1d
[cfe] Remove unnecesary uses of SubtypeCheckMode.ignoreNullabilities
...
Change-Id: I8b64ca39e7a153141885d428fc5bd95e446fcb49
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135640
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-18 12:28:29 +00:00
Jens Johansen
a314cff6ee
[CFE] Indicate NNBD compilation mode on all libraries
...
Change-Id: I01236158b593d0e4bd7cf67017459f05fb9520a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136128
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-18 08:51:37 +00:00
Johnni Winther
a9485e8b14
[cfe] Encode getter/field invocation as .call on property get
...
Current semantics with respect to evaluation order is retained.
Change-Id: I6794c8a720237536696afab2fe056042f8464ec8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129702
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-02-17 13:52:45 +00:00
Dmitry Stefantsov
d22c695e89
[cfe] Fix isSubtypeOf for cases like FutureOr<FutureOr<X%>>
...
Closes #40600 .
Bug: http://dartbug.com/40600
Change-Id: Iff1fbc7f4f499bc2ba154d5fe43494dae0511f94
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135315
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-17 10:44:35 +00:00
Robert Nystrom
44f027b8b2
Remove the matchers_lite.dart library.
...
It was literally only used by one test, and only used a single function
not already defined in minitest. That function was only used in one
place and wasn't very useful, so just refactored to not use it.
Change-Id: Ib51ac255233aa29bcaf19aaba16bc99d7eff724d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135965
Auto-Submit: Bob Nystrom <rnystrom@google.com >
Reviewed-by: Srujan Gaddam <srujzs@google.com >
2020-02-14 20:44:52 +00:00
Daco Harkes
eceb249f88
[CFE] Add support looking up extension members to LibraryIndex
...
Change-Id: I911b5034c871507cbb051264bac6bbd9b7eef26a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135462
Reviewed-by: Jens Johansen <jensj@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-02-14 15:46:37 +00:00
Jens Johansen
2b22c37be7
[kernel] Fix binary.md specification of Extensions
...
Fixes #40629
Change-Id: If458df641553d84c7a75aa51698145b22183c3d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135901
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-02-14 11:02:25 +00:00
Dmitry Stefantsov
6a2c350a3e
[cfe] Fix isSubtypeOf for FutureOrs
...
Previously it was assumed both A <: B implies FutureOr<A> <: FutureOr<B>
and FutureOr<A> <: FutureOr<B> implies A <: B. This CL fixes the
implementation.
Closes #38905 .
Bug: http://dartbug.com/38905
Change-Id: I2c8d105659b310e3ab5db261ebdc81cbfa456ae1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135301
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2020-02-12 07:55:37 +00:00
Johnni Winther
8d9cbaf4c4
[kernel] Allow invalid types in naive_type_checker
...
Change-Id: I9a7614056fa3a14a382e41ad1e927f023fe00250
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134726
Reviewed-by: Jens Johansen <jensj@google.com >
2020-02-07 21:14:37 +00:00
Dmitry Stefantsov
fd992e423e
[cfe] Normalize supertypes before nnbd-top-merging them
...
Closes #40454 .
Bug: http://dartbug.com/40454
Change-Id: Ia255c99c937a04876e04a0f0f5935147e55fbd35
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134842
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-07 18:14:40 +00:00
Dmitry Stefantsov
535ee87c21
[kernel] Add NORM implementation
...
Change-Id: I6292a4247ed0c418f2d3d6fa841ed086894c31c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134335
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-07 15:00:24 +00:00