Commit Graph

4770 Commits

Author SHA1 Message Date
Johnni Winther 23d70f6f23 Reland: [cfe] Embed and use allowed experiments in CFE
This CL embeds the sdk_nnbd/lib/_internal/allowed_experiments.json
into the CFE and uses this to allow experiments enabled on a
per library basis. The file is embedded through generated code to
avoid reliance on access to the file itself.

A presubmit check is also added to ensure that the json file and
the generated code are in sync.

This work is in preparation for https://github.com/dart-lang/sdk/issues/41538

This was reverted in https://dart-review.googlesource.com/c/sdk/+/149620
because flutter wasn't prepared for auto-enabling nnbd in dart:* libraries.
This has now been fixed in https://github.com/flutter/engine/pull/18714

Closes #42162

Change-Id: I686ed6feaef8ee066b426068fe2a0f5080bf1713
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149588
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-06-03 08:15:49 +00:00
Johnni Winther aec6a3529e Revert "[cfe] Embed and use allowed experiments in CFE"
This reverts commit a936f3019e as it broke
flutter hhh fuchsia build: https://ci.chromium.org/p/dart/builders/ci.sandbox/flutter-engine-linux/10876

Change-Id: I0a83e5edf8d53fc648a4f548529e456a5e6bcfc9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149620
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-06-02 08:48:51 +00:00
Johnni Winther 665c58aa1a [cfe] Disallow void in await expression
Closes #41602

Change-Id: I29b8880e3fdb769b2acdf2c82a9ced038d7b0d94
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149287
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-06-02 08:20:31 +00:00
Alexander Markov dd6dc29c21 [vm/nnbd] Prepare to migrate runtime/tests/vm/dart to NNBD
This change mechanically copies

  runtime/tests/vm/dart -> runtime/tests/vm/dart_2

in preparation for the migration of runtime/tests/vm/dart to NNBD.

Corresponding statuses in vm.status are duplicated.

Added vm_nnbd builder tag for NNBD bots.
vm/dart/* tests are allowed to run only on vm_nnbd builders.
vm/dart_2/* tests are allowed to run only on non-vm_nnbd builders.

Issue: https://github.com/dart-lang/sdk/issues/41314

Change-Id: I079da92da17960605f37c1c0e28e48362b236739
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149485
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2020-06-01 17:57:27 +00:00
Johnni Winther a936f3019e [cfe] Embed and use allowed experiments in CFE
This CL embeds the sdk_nnbd/lib/_internal/allowed_experiments.json
into the CFE and uses this to allow experiments enabled on a
per library basis. The file is embedded through generated code to
avoid reliance on access to the file itself.

A presubmit check is also added to ensure that the json file and
the generated code are in sync.

This work is in preparation for https://github.com/dart-lang/sdk/issues/41538


Change-Id: Ic03c0fc69684d124c685f2fe6e80423a7e751530
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149064
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2020-05-30 09:47:02 +00:00
Johnni Winther 3a021a6545 [cfe] Remove EvaluationMode.legacy
This is no longer valid. Since the SDK is agnostic we should default to weak mode.

Change-Id: Ia9fbf911e7ebb595c93a71afe3bb8de7495cebba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149065
Reviewed-by: Jens Johansen <jensj@google.com>
2020-05-30 09:47:02 +00:00
Aske Simon Christensen 1ad89b85a2 [gardening] Read nnbdMode parameter instead of field on null options.
Fixes crash introduced by https://github.com/dart-lang/sdk/commit/72e559929f7c6db5f38a9b2ad52df67aec624dfc.

Change-Id: Ie9e3cdbcd282a840dcd028661fa93e49d207d38f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149421
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Auto-Submit: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-05-29 09:12:09 +00:00
Nicholas Shahan 72e559929f [ddc] Add --sound-null-safety flag and pass to CFE
https://dart-review.googlesource.com/c/sdk/+/149080 is required to
get errors if you try use weak .dill files when passing the
--sound-null-safety flag.

Added a new build target to copy the sound SDK outline .dill to
dart-sdk/lib/_internal. This is only part of dartdevc_test right
now. We will decide in the future if we are going to include this
in the released SDK or if we will have the build systems create
them as needed. For now in testing scenarios it appears to be part
of the SDK.

Change-Id: I3b31a894841f59b437658104e7ee9443ee67db93
Fixes: https://github.com/dart-lang/sdk/issues/41694
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/146962
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-05-29 01:16:18 +00:00
Joshua Litt 20faaa5d94 [dart2js] Move dart2js unit tests to pkg/compiler/test.
Change-Id: Ib18f554c1076f27a3f7c0df5a36410da41a1f467
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148784
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-05-28 18:51:11 +00:00
Nicholas Shahan 2cc4d7ca2f [cfe] Set and check null safety mode in .dill
Validates that the .dill files provided for dependencies and the SDK
support sound null safety when compiling for strong mode.

Change-Id: Id1f7547a6bc473b901bfce62145cc918353c8ea4
Issue: https://github.com/dart-lang/sdk/issues/41694
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149080
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2020-05-27 16:27:50 +00:00
Mayank Patke d1546cac87 [dart2js] Make diagnostic message arguments strongly typed.
We were passing arguments as just a `Map` and forcing the Message to
handle the String conversion, but the caller is much better equipped to
do it and prevents the dynamic typing.

Change-Id: Icc4ab91edf233b81a64aa3b03462b541349fa751
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149048
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-05-27 05:28:03 +00:00
Mayank Patke 46dc9fb9a7 [dart2js] Set NNBD mode based on entry point.
Tested with https://github.com/dart-lang/null_safety_sample_package/.

Change-Id: Icecbee11da44eb9eb9cb3eb36f905f4a7126996b
Bug: https://github.com/dart-lang/sdk/issues/41208
Fixes: https://github.com/dart-lang/sdk/issues/41208
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148580
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-05-26 22:08:52 +00:00
Johnni Winther 0e6c8683e3 [cfe] Set #isSet field after late field in lowering
Closes #41922

Change-Id: I403ca031898c72f3edc0ca9c7434466c3510c53d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148800
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-05-26 10:48:25 +00:00
Dmitry Stefantsov 142d09fed7 [cfe] Provide better context in verifier's diagnostics
Change-Id: I599eb100acab431fc5630305951120dfe98e79b1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148763
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-05-26 10:02:05 +00:00
Jens Johansen 4dcf24ac7f [CFE] Use BlockExpression for encoding cascades
Change-Id: I9c56cbed9880716af804c80c6ca34578ae6765a4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148528
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigurd Meldgaard <sigurdm@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2020-05-26 09:07:25 +00:00
Jens Johansen 53ac4d53f2 [CFE] Set compilation mode if no main found
Change-Id: I2c3121e54f6c12b7ecdd8784851ca0611ff0b9d8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148401
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-05-20 10:29:42 +00:00
Johnni Winther 3dbb64a507 [cfe] Handle == on Never
Change-Id: I9519c20f249ba038b29c05b65e8741f80705d664
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147081
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-05-20 10:25:02 +00:00
Jens Johansen 17ff769f0a [CFE] Add tool to add comments to method calls
e.g. foo(null) => foo(/* argumentName = */ null)

for readability.

Change-Id: Ic6eef4c522e30eaf6a6f71d6d6e24820adb9400e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147541
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2020-05-20 09:46:52 +00:00
Dmitry Stefantsov 54fa4252a4 [cfe] Treat types containing InvalidType as invalid in assignability
Change-Id: I591e2d7eb729bb90dd7efdbf06397c34f0e96256
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148241
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-05-19 14:34:30 +00:00
Johnni Winther 585d664d35 [cfe] Add annotations on synthesized getters/setters
This moves late lowered annotations from the field declaration to the
synthesized getters and setters, and adds annotations to the synthesized
setter for external fields.

Change-Id: I50e6cb9e155877a2be4d92ea2d9c9dc7796fef8f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148521
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-05-19 11:18:30 +00:00
Johnni Winther 6708394f03 [cfe] Add predicates to detect late lowered fields.
Needed for https://github.com/dart-lang/sdk/issues/41892

Change-Id: I049e76655cf62a5558c18319e80ab9702c7a3c22
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148321
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-05-19 08:55:20 +00:00
Johnni Winther 6336e8e2d3 [cfe] Use legacy subtyping in weak mode constant evaluation.
+ add checks for agnostic subtyping differences

Closes #41657

Change-Id: I1e6b558edbfcb1ca282e0e4c788c6a7a7db6bfd3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148126
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-05-19 08:55:20 +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
Alexander Markov 2d57c1f86e [vm/aot/tfa] Handle @pragma('vm:entry-point') on redirecting factory constructors in TFA
Issue: https://github.com/flutter/flutter/issues/57213
Change-Id: Iad12f77b8c17a40a865e19d5fbd4a8915be6a184
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148203
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2020-05-15 16:42:12 +00:00
Jacob MacDonald 667e6f96ae add --verbose support to Kernel worker
Change-Id: Ibe4b21980c30b57629bf59520563c5952636127e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148145
Commit-Queue: Jake Macdonald <jakemac@google.com>
Auto-Submit: Jake Macdonald <jakemac@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2020-05-15 15:18:52 +00:00
Jens Johansen aa1e71e5f9 [CFE] Clear _delayedMemberChecks in class hierarchy builder
This could lead to some memory leak if the experimental invalidation was
enabled.

Change-Id: Idaf4fb5967e89a38eb78baf38ab34aac7c364c3f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148131
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2020-05-15 10:40:55 +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 383a8ea857 [cfe] Initial support for external fields.
Change-Id: Iccee87f40df395c928dc1a9dc81ddad8813a5000
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147906
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-05-14 18:34:06 +00:00
Johnni Winther 1661e0e03d [cfe] Handle covariant late fields in lowering
Change-Id: I2bbac50e7b544e5180e74ded8e657a09bf6430da
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147901
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-05-14 18:34:06 +00:00
Johnni Winther 46963a3422 [cfe] Change implicit catch type to Object
Closes #41520

Change-Id: Iff07ac2b7187b042e2c702462c0c3269208f27ed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148062
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-05-14 18:26:01 +00:00
Johnni Winther 00353040b9 [CFE] Error when strong mode mixed with non-opted-in
Change-Id: Ibff34fe071a6d10ce29c30e1d008d4a5ce6690a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140868
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2020-05-14 17:10:51 +00:00
Dmitry Stefantsov 3b93b85aef [cfe] Update inference for redirecting factory constructors
Closes #34714.

Bug: https://github.com/dart-lang/sdk/issues/34714
Change-Id: Ia1f6845d2ae623ecba01fd5e60dcaed975471f6b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147181
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-05-12 14:03:49 +00:00
Johnni Winther d5650235a2 [cfe] Handle ProblemBuilder in binary expression
Closes #41787

Change-Id: I81fcf0aee975b58b3b44d0de94054ae87bdd265d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147140
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-05-12 11:44:19 +00:00
Erik Ernst b0837b9aeb Corrected non-function type alias diagnostics
Errors involving superinterfaces in class declarations will now mention
both the type alias and the unaliased type, e.g., in cases like
`class A extends T {}` where `typedef T = void;`.

Change-Id: I5bb575b98329e8338560d1ee5dc18e71da9711e4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/146720
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2020-05-07 09:00:57 +00:00
Jens Johansen 014105fed0 [CFE] Provide accessor when forcing load of dart:core
Change-Id: I8b0b91f1a9fa6637b9287982b580c4f3531d13d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/146786
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2020-05-06 11:48:15 +00:00
Johnni Winther 59e54abb0e [cfe] Handle callable type variables.
Change-Id: Ibd963206bb81fef16f3cb410fc352e636b0596e0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/146580
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-05-05 10:02:03 +00:00
Johnni Winther 3788a59c6c [cfe] Remove ObjectAccessTargetKind.unresolved
Change-Id: I39fd278531038829ea28a870b6333918e4a6bf38
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/146261
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-05-05 09:00:23 +00:00
Johnni Winther 645f3acca7 [cfe] Update greatest closure of ? to Object?
Closes #41386

Change-Id: I1a5a4cdc35cef37c7a8ba6a6aecb99457789bcdc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144940
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-05-04 08:14:43 +00:00
asiva c740bbc161 [VM] Set up Isolate specific null safety mode
- change the null_safety flag to be a tri state flag (unspecified, no
  null safety and null safety)
- added logic to set the null safety mode of an isolate based on the
  value specified in the kernel file (.dill file) if the null safety
  flag is not specified on the command line
- added logic to auto detect the null safety mode based on the language
  version API provided by CFE
- added logic to pass the correct null safety option to CFE when
  invoking it for compilation based on the null-safety flag setting
- Delete non-nullable-flag() function and adjust code that was using it.
- Remove 'nnbd-experiment' from the snapshot string.

https://github.com/dart-lang/sdk/issues/41206
https://github.com/dart-lang/sdk/issues/41207

Change-Id: I006bf3c9229980fc7986faac6a5850d3722aec92
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143160
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Liam Appelbe <liama@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-05-01 04:03:04 +00:00
Konstantin Shcheglov cf3a034210 Implement promotion via initialization in flow analysis.
Change-Id: I10a5f6bfeb5a05dd144db5212c9f31796f5a2385
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145502
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-04-30 16:26:27 +00:00
Johnni Winther a9b81e18d9 [cfe] Handle dynamic return in async
Closes #41437

Change-Id: I493b516f0b72fc1da097b92bd75150aea8e60ba7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145042
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-04-30 12:39:04 +00:00
Jens Johansen c08bcbb25e [CFE] Enable textual outline sorting in test suite
Change-Id: Iccf35b9cb3dce96487ca9ba688394e3b05be2e75
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145401
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-04-30 08:25:17 +00:00
Jens Johansen b1435ec38a [CFE] Textual outline can sort data
Change-Id: Iac337903aace923f2cff8797840aa5cdbfded03f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145400
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-04-30 08:25:17 +00:00
Johnni Winther e046afac1f [cfe] Don't print nullability on Null in messages
Change-Id: I530d3eef1a0af73d68aaccf33095ab2dcaf4747c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145461
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-04-30 08:16:24 +00:00
Johnni Winther 712efa2a49 [cfe] Handle problems and recovery in non-null check
Closes #41597

Change-Id: I781d70d7cd720ab09d68a22ead1639bf37953955
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144941
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-04-28 08:06:48 +00:00
Konstantin Shcheglov 3e26a5d0dd Issue 40957. Report the language feature, and recommend to set SDK constraint.
...but don't recommend to enabled any experiment.

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

Bug: https://github.com/dart-lang/sdk/issues/40957
Change-Id: I556ce9952b28d0b079521ac46558f8e3adf352c5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144982
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-04-27 22:11:46 +00:00
Konstantin Shcheglov eada4d8d65 Implement Factor in flow analysis.
Bug: https://github.com/dart-lang/sdk/issues/40014
Change-Id: I8d21d3c3368495d9d0dbb1cd52317b053657a176
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144804
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2020-04-27 18:47:08 +00:00
Johnni Winther 3c0e9642d2 [cfe] Ensure default type on generic forwarding stubs/method signatures
Change-Id: Iad6246c55f45953bffe2c3de4a2e30a32db347d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144820
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-04-27 16:25:18 +00:00
Johnni Winther b8343d071d [cfe] Support Never and Never? in function literal parameter type inference
Closes #41415

Change-Id: Ia98c916da00e663ba909d6c38c6d9dc70d740bb6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143812
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-04-27 15:11:08 +00:00
Johnni Winther e9ca413263 [cfe] Handle nullable access to extension members
Closes #41349
Closes #41495

Change-Id: I1893502592af1615184b5dd294e1835b51959a07
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144761
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-04-27 13:47:08 +00:00