Commit Graph

79322 Commits

Author SHA1 Message Date
Sam Rawlins f6fc66d674 dart migrate: Opt the web app out of null safety
This is needed as the web app (just migration.dart) is viewed as a
stand-alone Dart file, and thus is de facto opted in.

Change-Id: I56930cc95d32ab22d2ade3c174023775a1f44771
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180483
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-01-22 15:28:33 +00:00
Sigurd Meldgaard f87ab39bfb Bump pub
Included commits:
```
git log --format="%C(auto) %h %s" 7cff05f2522d5468648f854695ca8671aae2104d..267fb68add3b85a0f6698bf5ae2648f1a1df515b
 267fb68a Show outdated sdk packages. (#2841)
 69c4b502 `dart pub outdated` - Better message when no resolution exists. (#2840)
```

These are visual fixes - not mentioning in CHANGELOG.

Change-Id: Icdc8a2da216985471420f87b9a531c6b942c628d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180567
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
2021-01-22 15:23:43 +00:00
Jens Johansen 4457cb7002 [CFE] Crash test minimizer can find specific errors that occur only on reload
For instance one could pass something like
```
--wantErrorOnReload="Error: The getter 'axis' isn't defined for the class 'Constraints'" --noTryToDeleteEmptyFilesUpFront
```

to reproduce https://dart-review.googlesource.com/c/sdk/+/180341

(the --noTryToDeleteEmptyFilesUpFront part might not be neccessary,
but was at one point doing the reproduction / development of this).

Change-Id: I943b715c56f3e1103c6287ed9529aa29c0e74f07
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180360
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2021-01-22 15:16:23 +00:00
Daco Harkes 90f3de0421 [vm/ffi] Mark dart:ffi as stable
Closes: https://github.com/dart-lang/sdk/issues/34452

We will still actively adding new features to `dart:ffi`. Please refer
to https://github.com/dart-lang/sdk/labels/library-ffi for open issues
and feature requests.

Related documentation PRs:
- https://github.com/dart-lang/site-www/pull/2873
- https://github.com/flutter/website/pull/5195

Change-Id: I59a23e462c859da5dcd2e5548fb6fe295c5d8532
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/179765
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
2021-01-22 13:58:09 +00:00
Daco Harkes f05f5adc94 [vm/ffi] Breaking change notes for #44621 and #44622
Issue: https://github.com/dart-lang/sdk/issues/44621
Issue: https://github.com/dart-lang/sdk/issues/44622

Change-Id: I9689db63a5b47946b501fac9df63cc86811d6e41
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/179764
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2021-01-22 13:58:09 +00:00
Daco Harkes d74b2f4672 [vm/ffi] Deprecate Pointer.elementAt and sizeOf generic calls
The analyzer and CFE now report a warning on calls to
`Pointer<T extends NativeType>.elementAt()` and
`sizeOf<T extends NativeType>()` where `T` is a generic.

Adapted from https://dart-review.googlesource.com/c/sdk/+/178200 to
only deprecate but not error out on generic calls.

Does not roll forward `package:ffi` to a version with the `Allocator`
but keeps the generic `sizeOf` invocation. This causes extra warnings
in the pkg/front_end testcases.

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

TEST=tests/ffi/data_test.dart
TEST=tests/ffi/sizeof_test.dart
TEST=tests/ffi/structs_test.dart
TEST=tests/ffi/vmspecific_static_checks_test.dart

Change-Id: I8f41c4dc04fc44e7e6c540ba87a3f41604130fe9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180560
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2021-01-22 13:58:09 +00:00
Daco Harkes f74c9d43d3 [vm/ffi] Deprecate Pointer<T extends Struct>.ref generic calls
The analyzer and CFE now report a warning on calls to
`Pointer<T extends Struct>.ref` and `Pointer<T extends Struct>.[]`
where `T` is a generic.

Adapted from https://dart-review.googlesource.com/c/sdk/+/180190 to
only deprecate but not error out on generic calls to `.ref` and `[]`.

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

TEST=tests/ffi/vmspecific_static_checks_test.dart

Change-Id: I81353089d59f093730d63792e9dbcd0b2ff0c432
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180365
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2021-01-22 13:58:09 +00:00
Daco Harkes c3b30df798 [vm/ffi] Deprecate empty Structs
The analyzer and CFE now report a warning on subclasses of `Struct`
which have no native fields.

Adapted from https://dart-review.googlesource.com/c/sdk/+/180189 to
only deprecate, but not disallow empty structs.

Rolls `package:ffi` forward to migrate `Utf8` and `Utf16` to `Opaque`
to prevent tests from failing on those generating warnings for empty
structs.

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

TEST=tests/ffi/vmspecific_static_checks_test.dart

Change-Id: Ia364e31da66cb195570c2e2b729d03dd261f28a2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180361
Reviewed-by: Clement Skau <cskau@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2021-01-22 13:58:09 +00:00
Lasse R.H. Nielsen a7f2da3898 Update documentation of dart:io.
Change-Id: Ibbc692545af636e33cfa7f5946480d3640d95b5c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/178985
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2021-01-22 13:37:39 +00:00
Jens Johansen 97a0d79cd0 [CFE] Make strong tests verification skip platform
Currently - i.e. without this CL - (almost) every test run by the strong
test suite verifies the platform libraries as well. That's basically a
waste of time.
This CL makes the suite skip it for the platform.

Runtimes changes (on my computer) as follows:

With -DskipVm=true:
With this CL: ~1:55
Without/before this CL: ~8:30

Without -DskipVm=true:
With this CL: ~4:35
Without/before this CL: ~11:30

Change-Id: I6c46b86935bea29911775cbc0544ea7a0b60b779
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180562
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2021-01-22 13:03:59 +00:00
Jonas Finnemann Jensen 93115d60f2 Roll pub to c55fc832
Notable changes:
 * Highlight about _discontinued_ dependencies in `dart pub get`.

git log --oneline c55fc832...392a3cb4
c55fc832 No metadata when CI=true (#2837)
a95ff4b1 Warn about discontinued packages on pub get/upgrade (#2835)
135bf942 Allow package_config.json to contain flutter_gen (#2830)
6a60b0ee output of command 'dart pub upgrade' updated (#2834)
6b6c4206 Mention `dart pub` (#2823)
a94e1c2c Add GitHub Actions workflow (#2802)

Change-Id: Iec09f3290cc8a4e21505c3ef7b4aec820a210d93
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180563
Auto-Submit: Jonas Jensen <jonasfj@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
Reviewed-by: Sigurd Meldgaard <sigurdm@google.com>
Commit-Queue: Michael Thomsen <mit@google.com>
2021-01-22 12:48:19 +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 8f2299304f [cfe] Run transform step in compiler context
Change-Id: I11a655639f18b55f2bb3cd6dc517093b8d3906a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180561
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2021-01-22 10:39:39 +00:00
Jens Johansen 8dd585c5b4 [CFE] Initial 'semi-fuzz' option in strong tests
This CL introduces a 'semi-fuzz' option in the strong tests, that is
disabled by default.

The current version just compiles with the incremental compiler
and invalidate one file at a time, seing that we get the same
libaries in the output and that we either get errors in both cases
or no errors in both cases.

Future versions should for instance split libraries into more
libraries or parts etc., and the semiFuzz option should be enabled
by default.

Change-Id: I47f7d0f10798b0f2b19c9f2a02287f9431f67608
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180145
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-01-22 10:26:58 +00:00
Sigmund Cherem 6854871069 [ddc] omit type constant literals without nullability in all contexts.
In non foreign-js calls this is immediatelly passed to wrapType which will
normalize it to the same value. So this is only added as a small optimization.

Change-Id: I145d58ad0244a2e7068a928b231f69a9491c465e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180444
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2021-01-22 02:24:17 +00:00
Sigmund Cherem 04d9240939 [ddc] recognize constant type literals in the compiler.
This change prepares for an upcoming CFE normalization.
Today kernel AST shows type literals as TypeLiteral nodes. Soon the CFE
will change the representation and canonicalize type literals and
represent them using constnats.

With this change, the compiler will recognize both the old and new
patterns.

Change-Id: I5aa3d99743c95c2dda04d299e586e77540fb7f7f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180266
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2021-01-22 02:24:17 +00:00
Nicholas Shahan c3e56519fc [ddc] Add getGenericClassStatic runtime helper
Used in the SDK runtime library like the getGenericClass helper but this
is intended to be used when we statically know the type of the class to
be retrieved. Helps avoid breaks caused by an upcoming CFE change that
turns type literals into constants.

Change-Id: I262dd2dae347170050d2fe5cd2722ab132951036
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180265
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2021-01-22 02:24:17 +00:00
Ben Konyi 378436abb6 [package:vm_service] Bump version to 6.0.1-nullsafety.0 to make pub happy
TEST=None

Change-Id: If0f04c87fb1411084e15460ff9e70cb76498b623
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180486
Reviewed-by: Gary Roumanis <grouma@google.com>
2021-01-22 00:54:11 +00:00
Ben Konyi 251dab8721 [ package:vm_service ] Removed null assertion from
`SourceReportRange.coverage` parsing

Fixes https://github.com/dart-lang/sdk/issues/44739

TEST=Existing
Change-Id: I395d6f908862767655d7d3e9b5518995dea8c433
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180480
Reviewed-by: Gary Roumanis <grouma@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-01-22 00:22:17 +00:00
Mark Zhou 0d275a6b7c [dartdevc] Clearing labeled statement caches before entering inline JS while statements.
Change-Id: I249913cebba553b8fad8a7646688807a968c2e85
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180443
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Mark Zhou <markzipan@google.com>
2021-01-21 23:55:57 +00:00
Kevin Moore e8b7fe9ca2 DEPS: latest sync_http
Change-Id: Ib43f27f50a43dea24a9f6bc182cc392fbb846106
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180445
Auto-Submit: Kevin Moore <kevmoo@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2021-01-21 23:32:07 +00:00
Konstantin Shcheglov cea28f1ac5 Support for AwaitExpression in binary summary format.
Bug: https://github.com/dart-lang/sdk/issues/44699
Change-Id: I174e015ff8378fafc1c528198df2157532cf393a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180460
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-01-21 23:15:16 +00:00
Lasse R.H. Nielsen 726904ac17 Add onError extension method to Future.
Provides better typing than `catchError`.

Change-Id: If0d4487b7c3a499160fb719740a1d65c0545024d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151512
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2021-01-21 23:13:56 +00:00
Mayank Patke 0f1c8c9f83 [dart2js] Adjust field analysis to improve inlining of late sentinels.
Change-Id: If3044b3a6830dec01a170e08a155dbe1588c184d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180380
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2021-01-21 22:36:06 +00:00
Mayank Patke a2fea4f68d [dart2js] Enable sentinel-based lowering for late.
Change-Id: Ia395d0401f4e99e047628fcc5127781c933cdf96
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170742
Reviewed-by: Stephen Adams <sra@google.com>
2021-01-21 22:36:06 +00:00
Paul Berry 25af65bb91 Fix exception handling in EdgeBuilder._dispatch.
Previously, we did not null check the listener, which meant that if an
exception occurred in a unit test, there would be a cascading
exception, so we wouldn't get a useful stack trace.

Change-Id: I612ca9e7129441e319d92953c481fd1647eb46ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180383
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-01-21 21:30:33 +00:00
Paul Berry 454143db3a Migration: Test explicit extension syntax for #42529.
These tests were accidentally left out of
a93a9a05a8.

Bug: https://github.com/dart-lang/sdk/issues/42529
Change-Id: Ie101d171d2eb2179621831d7ba71ad6598ecd3aa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180420
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-01-21 21:29:32 +00:00
Johnni Winther 55b34a467c Reland "[vm] Pass snapshot flag to kernel_service"
Enable reporting of null safety compilation mode when running
`dart compile aot-snapshot`, `dart compile jit-snapshot`,
and `dart compile kernel`.

Closes #44234

TEST=pkg/dartdev/test/commands/compile_test.dart

Change-Id: Id9e72751068d5f208055ab953d2c8392e84c4798
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180187
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2021-01-21 21:18:32 +00:00
Kevin Moore 4dde43218b DEPS bring in latest sync_http
Change-Id: Icad23bbfc3ca91a3263192a6e98468de76cf76d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180440
Auto-Submit: Kevin Moore <kevmoo@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2021-01-21 21:05:32 +00:00
pq f94455f54b linter 0.1.129
Change-Id: Iac0739aca5b06975fe1f4e2e50c411d5e1352967
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180421
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-01-21 20:13:22 +00:00
Alexander Aprelev 316cc15a55 [io/ssl/ios] Ensure that certificate is up-referenced before it had a chance to get disposed.
This fixes https://github.com/dart-lang/sdk/issues/44590.

TEST=Running mocked-up flutter app on iphone that does 100 connects to a site that requires bad certificate callback(see the issue).

Change-Id: I6a7aff54a312821842b94c9314af5a2074d657d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/178760
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2021-01-21 20:08:03 +00:00
Paul Berry 4ee861b7d0 Flow analysis: Track additional assigned variables information.
We now track the following additional information:

- All local variable reads and read captures (previously we only
  tracked writes)

- For any conditional expression (`?:`) or if-test, the variables
  written in the "then" branch

- For any logical and expression (`&&`), the variables written in the
  right hand side of the expression

Tracking this information will allow us to implement legacy type
promotion as part of _fe_analyzer_shared, using the same API as flow
anaylsis, which will in turn allow a lot of front end and analyzer
code to be removed and simplified.

Change-Id: I01aaf64cefb989a4450c8e6d3a8373c1ca2b6dec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/179980
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-01-21 19:48:22 +00:00
Brian Wilkerson 995b91675a Enable the use of config files when testing data-driven fixes
Change-Id: I8e21111840275a3db65adadc465482e998fb8cbc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180385
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-01-21 19:47:03 +00:00
Paul Berry a93a9a05a8 Migration: handle references to property accessors in extensions.
Fixes #42529.

Bug: https://github.com/dart-lang/sdk/issues/42529
Change-Id: I46be5511bf3929ba08da62bdc6ac6c85a307d0ed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180400
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-01-21 19:04:12 +00:00
Konstantin Shcheglov 2be0ff80d9 Issue 43478. Implement update to least upper bound.
Bug: https://github.com/dart-lang/sdk/issues/43478
Change-Id: Ib0c249a17148a6b6bc04d10e32e158f8cee97bed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180122
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-01-21 18:37:50 +00:00
Brian Wilkerson 9c7064e96e Remove unnecessary awaits in analyzer_plugin
Change-Id: Ifc68d638d082d73495cd5184ea1270c2551d588d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180382
Auto-Submit: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-01-21 18:01:50 +00:00
Brian Wilkerson e45665fc5f Add support for parsing a config file for a data-driven fix test
The contents of the file are not yet being applied, so the only thing
that can be tested at this point is the parser.

Change-Id: If8579e8b7383937f47e4960c3ecd3dfe283c40bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180280
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-01-21 17:58:31 +00:00
Konstantin Shcheglov 9fa2a462c5 Update 'package_config' to 0e208cb5a9482d780c47627368d3f5bdc409f37b, null safety.
See also cl/352876453

Change-Id: I8a68d97b8b04b5e38833e637b5dc0b54123acd35
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180242
Reviewed-by: David Morgan <davidmorgan@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-01-21 17:20:10 +00:00
Paul Berry 5569f10236 Migration: infer non-null intent for this in extensions.
Since `this` is essentially a variable in extensions, it should be
treated similarly to variables in terms of inference of non-null
intent; for example, if an extension declaration contains a a method
that unconditionall dereferences `this` (either implicitly or
explicitly), that's a good indication that the user probably doesn't
intend for the extension to be applied to nullable types.

Fixes #44675.

Bug: https://github.com/dart-lang/sdk/issues/44675
Change-Id: I004328f5b1fd6710954363c07f4e9db6bc6ac2cd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180268
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-01-21 13:33:36 +00:00
Paul Berry db367e728c Sort declarations in edge_origin.dart
Change-Id: I9461d6af29900546cff74879e95f8d729497080b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180283
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2021-01-21 13:33:36 +00:00
Paul Berry 46fc6ae07c Migration: refactor _ScopedLocalSet so that all conversion from expressions to elements is in one place.
This will pave the way for expanding this logic to handle `this` in
extension methods.

Bug: https://github.com/dart-lang/sdk/issues/44675
Change-Id: I965c28261eb27807e6789b5906a026c5367d8217
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180281
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2021-01-21 13:33:36 +00:00
Paul Berry 8ad4919482 Null safety migration: don't null check calls to extensions that permit null.
This partially addresses #44675 by ensuring that if an extension's
extended type is nullable, we won't try to insert an unnecessary null
check at the call site.

It's not a complete fix, though, because we still don't account for
obvious indications of non-null intent when analyzing the extension
definition itself.  I plan to address that in future CLs.

Bug: https://github.com/dart-lang/sdk/issues/44675
Change-Id: Ia0ca37b89470a2d4882ae32cd842552ffd34930e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180263
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2021-01-21 13:33:36 +00:00
Jens Johansen 6aee7d0eb8 [CFE] Reproduction of error on recomile even without change
This CL is a reproduction of a found bug, where upon recompile
- even with no change to the code - one suddenly gets an error
like this:

```
// org-dartlang-test:///main.dart:9:36: Error: The getter 'axis' isn't defined for the class 'Constraints'.
//  - 'Constraints' is from 'package:flutter/object.dart' ('org-dartlang-test:///flutter/object.dart').
// Try correcting the name to the name of an existing getter, or defining a getter or field named 'axis'.
//     print(renderObject.constraints.axis);
//                                    ^^^^
```

Run like
`out/ReleaseX64/dart --enable-asserts pkg/front_end/test/incremental_load_from_dill_suite.dart -DupdateExpectations=true -- incremental_load_from_dill/error_on_recompile_with_no_change`

Change-Id: I48b87ca3ce5b8301c4f8b6b7884ded7a328387d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180341
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-01-21 13:04:36 +00:00
Erik Ernst c9e24eee9f Add test for upper bound with greatest closure
Change-Id: I59d20c1b4c874fb24a67f15296654d54a0d0dc1e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/179541
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-01-21 08:51:53 +00:00
Johnni Winther af283dedc2 [cfe] Handle Extension.fileUri in getLocationInEnclosingFile
Closes #44719

Change-Id: I5c277e869bf7d24c9db0f3f4b76640aae8a65b22
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180181
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2021-01-21 08:01:23 +00:00
Konstantin Shcheglov 57bd563852 Prepare for switching to null safe package_config
The CL that does the switch is green, but I guess we might want to
separate the switch from preparatory changes, if this is possible.
https://dart-review.googlesource.com/c/sdk/+/180242

Change-Id: I1a553fa15120dbc55ff879ab56180423ff564d9b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180282
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
2021-01-21 05:04:33 +00:00
Konstantin Shcheglov 8258e38acd Add containsTypeParameter() helper.
Change-Id: Id1a7b22e0a0d5a1b5c3338ec0a216df49933af80
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180241
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-01-21 04:24:03 +00:00
Ryan Macnak 54402fb7e0 [test] Skip new reload test on AOT configurations.
TEST=ci
Change-Id: I5bffa2964d3e695c016fa6e86d7e8b2f6079ce45
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180267
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2021-01-21 01:53:23 +00:00
Sam Rawlins 8833210ee4 dart migrate: Only opt out files with a comment if they appear in files-to-process
Change-Id: I3cb1bedaa4a03eca89e29528c554488955f2bb04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180083
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-01-21 00:57:33 +00:00
Mark Zhou 05d46af646 [dartdevc] Synchronizing dart_library.js with internal hot restart change.
See: cl/352082170
Change-Id: I6bb9cc27997d1ce2117c58d5e3b3ee3a299e7c2d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180260
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2021-01-21 00:39:13 +00:00