Commit graph

69216 commits

Author SHA1 Message Date
pq
c0dfdb27e7 linter 0.1.108
UPDATE (1/3): blocked on a new analyzer roll (details: https://github.com/dart-lang/linter/issues/1927)
UPDATE (1/8): updated to 0.1.108


Change-Id: I4fc825c5019fee05b4d9e1ec38bd50f9044f42dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130081
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: David Morgan <davidmorgan@google.com>
2020-01-08 19:28:51 +00:00
Brian Wilkerson
5b6bdaba64 Gracefully handle a race condition in code completion (issue 40008)
Change-Id: I4dcef63210e2318594fe15484e00b72ca126e49a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130760
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-01-08 19:03:55 +00:00
asiva
ac4b43f0a8 [VM/runtime] - Remove DART_NO_SNAPSHOT
- Remove the define DART_NO_SNAPSHOT in all the build configs
- Remove all conditional code under DART_NO_SNAPSHOT

Change-Id: Ia01d09de7c4b1813a5e172a630950e637e476713
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130566
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2020-01-08 18:56:21 +00:00
Ryan Macnak
a67fd37193 [observatory] Visualize differences between two heap snapshots.
Display progress when loading a snapshot from a file.

Change-Id: I6802998308c0b6c552ffea76439fe18edd34c99c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130460
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2020-01-08 18:55:51 +00:00
Konstantin Shcheglov
02b1b58f6c Inline getType() in TypedLiteralResolver.
R=brianwilkerson@google.com

Change-Id: I0d94837b6b457d7b7f7f121e2870e88081ee583c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130740
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-01-08 18:47:15 +00:00
Janice Collins
f55470fdaf Fix a problem where '?.call()' could propagate a non-legacy type.
BUG=https://dartbug.com/39996

Change-Id: Ifc2eb7040ba70b7cf0da392a30a25e5989c925eb
Fixed: 39996
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130581
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Janice Collins <jcollins@google.com>
2020-01-08 18:44:27 +00:00
Konstantin Shcheglov
68bb711226 Remove now unused 'isNullAware' from ElementResolver.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I50f1e4a1382ce0ee37356e04b4ca74e4d55c0eac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130720
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-01-08 18:39:11 +00:00
Konstantin Shcheglov
06ce8d4fc5 Inline getType() in TypeNameResolver.
R=brianwilkerson@google.com

Change-Id: I59ce8ae65d88ca90b118362f650e88ab68a35183
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130722
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-01-08 18:36:21 +00:00
Nicholas Shahan
e92be54398 [dartdevc] Update extractTypeArguments to handle nullability wrappers
Change-Id: I4dbec963406ff56c5ca2523b79a25ccabca909e4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130661
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2020-01-08 18:18:50 +00:00
Konstantin Shcheglov
a8397d8bac Replace assertElementTypeString with assertType.
TBR, somehow I missed these invocation sites initially.

R=brianwilkerson@google.com

Change-Id: Iaf372750c5cb3b9d1912037a03092e1d487316ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130721
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-01-08 17:51:03 +00:00
Konstantin Shcheglov
5bfabfb4f0 Merge some resolution assertions.
Change-Id: I4a5d79d13d890acd641f302c85c7b0f463a11200
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130660
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-01-08 17:30:35 +00:00
Paul Berry
b6ab691389 Flow analysis: adjust nomenclature to match spec draft.
Two renames, to make the implementation more closely match
https://github.com/dart-lang/language/pull/763:

- typesOfInterest -> tested
- promotion chain -> promoted types

Change-Id: If2c0d72c81bee45ef94fc4fb04000f5c9ed84f26
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130570
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2020-01-08 17:28:15 +00:00
Paul Berry
c92e15f796 Sort methods in flow_anlalysis.dart
Change-Id: I3260796b637c32e8ce1a50a9a94e49938bc1bc12
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130569
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-01-08 17:28:15 +00:00
Konstantin Shcheglov
1fee7f0263 Remove unnecessary casts to TypeImpl.
Change-Id: I48dcc4a448fa60551905c3d73c8df90a31230738
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130572
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-01-08 17:22:30 +00:00
Paul Berry
ed1e5220c2 Remove deprecated "author" section from _fe_analyzer_shared pubspec.yaml.
This addresses a nuisance warning when publishing the package.

See https://github.com/dart-lang/sdk/issues/40007.

Change-Id: I7ba813a827af08033c7884153533cb19aa8e3211
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130624
Auto-Submit: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-01-08 17:20:10 +00:00
Alexander Markov
6a892af47d [vm/aot/tfa] Type check parameters before joining variable values
Previously, parameter TypeCheck was applied to the joined value of a
parameter variable which may include assignments in the method body.
After this change, parameter TypeCheck is only applied to the incoming
value. This also removes duplicate management of variables and variable
joins.

Change-Id: I9a8205a778aced7b0ea8c51c83e48ae485315221
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130561
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2020-01-08 16:52:10 +00:00
Paul Berry
721670fc2d Stop using package:expect in _fe_analyzer_shared.
_fe_analyzer_shared is published on pub so it isn't appropriate for it
to use package:expect (which isn't published at all).  All we were
using it for was a few string equality checks; simply using operator==
and throwing an exception is an adequate replacement.

If, in the future, we decide that we really need the additional
functionality provided by package:expect, we can always convert the
test to use package:test, and then make use of the `expect` method
provided by package:test.

Partially addresses https://github.com/dart-lang/sdk/issues/40007.

Change-Id: Ib7827db0cdb480feacc454a3aa660ea4c6e7cfd7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130623
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2020-01-08 16:28:50 +00:00
Nicholas Shahan
99c5ec5c75 [dart:_internal] Update signature of extractTypeArguments()
Object -> Object? in the NNBD fork.

Change-Id: Id17827327f77d61266f1a478abb735348dbc7312
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130564
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2020-01-08 16:23:59 +00:00
William Hesse
13fd15d2f0 [infra] Handle missing boolean fields in get_builder_status
Change-Id: I0dc03d6dd58c672c843936dc78fd958608ddef35
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130701
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2020-01-08 15:18:18 +00:00
Teagan Strickland
3dd8a3b2f3 [vm] Populate VM isolate group source data and instruction pointers.
Change-Id: I1fcdf4a58c4a9b6bd24b4b90fa7048031ec3af12
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130702
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Teagan Strickland <sstrickl@google.com>
2020-01-08 15:15:08 +00:00
Johnni Winther
008e6ae60b [analyzer,cfe,dart2js] Add skipMap to id-testing
This supports skipping tests per configuration, for instance to add
nnbd-only tests and skip these in non-nnbd configurations.

Change-Id: I7eaebaa16d67129ce60cffa3594c766ff5e5bc66
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130376
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-01-08 14:47:28 +00:00
Johnni Winther
d2fcd678fd [analyzer,cfe,dart2js] Improve offset of generated library/class/member annotations
Change-Id: I76fea5f3479b5185433ec56efefb89071676e1a4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130375
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-01-08 14:47:28 +00:00
Dmitry Stefantsov
1eacac48cf [cfe] Make .{thisF,f}unctionType nullability-aware
Change-Id: I4a83f4db7d6412165882e4a1f08c7fded6b9ea3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130373
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2020-01-08 11:52:06 +00:00
William Hesse
c9a9db63e3 Revert "Reland "Reland "[infra] Add failing test to test CI systems and approvals workflow"""
This reverts commit 4b5d757bea.

Reason for revert: This intentionally failing test should have been reverted immediately, after verifying that it was detected by the CI.
Original change's description:
> Reland "Reland "[infra] Add failing test to test CI systems and approvals workflow""
> 
> This reverts commit 84a4bbcabc.
> 
> Reason for revert: Another try to land, to get more logging data.
> 
> Original change's description:
> > Revert "Reland "[infra] Add failing test to test CI systems and approvals workflow""
> > 
> > This reverts commit c716068538.
> > 
> > Reason for revert: Trying again to diagnose failure to copy approvals.
> > 
> > Original change's description:
> > > Reland "[infra] Add failing test to test CI systems and approvals workflow"
> > > 
> > > This reverts commit 25def20f5d.
> > > 
> > > Reason for revert: Retrying, now that we are copying CQ approvals for all commits in the blamelist of a builder.
> > > 
> > > Original change's description:
> > > > Revert "[infra] Add failing test to test CI systems and approvals workflow"
> > > > 
> > > > This reverts commit e578eeb235.
> > > > 
> > > > Reason for revert: The reverted commit is a test of the new approvals UI for tryjobs and the CI. It includes an intentionally failing test, that we now remove again.
> > > > 
> > > > Original change's description:
> > > > > [infra] Add failing test to test CI systems and approvals workflow
> > > > > 
> > > > > The failing test lib_2/collection/failing_list_test.dart is added,
> > > > > which imports dart:io.  So it will be a compile-time failure on
> > > > > some dart2js platforms, and a run-time failure on dart:io.
> > > > > 
> > > > > This commit is just to test the UI and backend for test failure
> > > > > approvals on tryjobs and on CI results. It will be reverted after
> > > > > the CI builders have run on it.
> > > > > 
> > > > > Change-Id: Icc3d11e72511cb0dbd9a62cb4fa80e754c203c8c
> > > > > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127883
> > > > > Reviewed-by: Jonas Termansen <sortie@google.com>
> > > > 
> > > > TBR=whesse@google.com,sortie@google.com
> > > > 
> > > > Change-Id: I32b900e25dc562ac88f5cb496cdbca726fc70445
> > > > No-Presubmit: true
> > > > No-Tree-Checks: true
> > > > No-Try: true
> > > > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127885
> > > > Reviewed-by: William Hesse <whesse@google.com>
> > > 
> > > TBR=whesse@google.com,sortie@google.com
> > > 
> > > Change-Id: I64e528131c779c8d20c007ff715b57b599cd3f07
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127886
> > > Reviewed-by: William Hesse <whesse@google.com>
> > > Reviewed-by: Jonas Termansen <sortie@google.com>
> > 
> > TBR=whesse@google.com,sortie@google.com,athom@google.com
> > 
> > Change-Id: Icf68fd813d5f8f98d5ebf40c34e35811e8fffaf5
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127892
> > Reviewed-by: William Hesse <whesse@google.com>
> 
> TBR=whesse@google.com,sortie@google.com,athom@google.com
> 
> Change-Id: Ic63f74bf660e71e5e1853a391013368ce640bbc1
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127895
> Reviewed-by: William Hesse <whesse@google.com>
> Reviewed-by: Jonas Termansen <sortie@google.com>

TBR=whesse@google.com,sortie@google.com,athom@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Ib82dadb2c82f2329164b29e60997320b775c104d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130378
Reviewed-by: William Hesse <whesse@google.com>
2020-01-08 10:30:23 +00:00
Dmitry Stefantsov
0081dfc706 [cfe] Report error on required named parameters having default values
Bug: http://dartbug.com/39660
Change-Id: I0230d5b9f0448964ba9ad83a7adf46acfee9edcf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130372
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2020-01-08 09:17:09 +00:00
Johnni Winther
35f14f3eff [dart2js] Remove ConstantExpression/Constructor/Evaluation
Change-Id: Iea3f12e5f14eeff1aa2a57e86a41c65d468dcc86
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129706
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-08 08:21:59 +00:00
Johnni Winther
64dae246db [dart2js] Use CFE constant evaluator for non-required constants
Change-Id: Id363332caf29e98307553ec048c2dea36c739d95
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129701
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2020-01-08 08:21:59 +00:00
Johnni Winther
4cdf5c77b5 [dart2js] Remove code dependent on non-cfe-constants
Change-Id: Id53d0610f5640d597050cff987f3febe4218fcd3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129700
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-08 08:21:59 +00:00
Konstantin Shcheglov
e85e203e73 Deprecate DartType.name
Change-Id: If3a967bba976aa78493764513edbb3d406b08d27
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130625
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-01-08 07:00:59 +00:00
Konstantin Shcheglov
9e7c401d4f InterfaceTypeImpl has one constructor.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Iea88ae0fa035ffa7154460ac61752cf90dc004c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130571
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-01-08 06:16:23 +00:00
Konstantin Shcheglov
accd08fa64 Resolve with Never and Never? receivers.
Change-Id: I388c05d09238a20fc5a84503816b9102c51a573a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130620
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-01-08 04:07:46 +00:00
Ryan Macnak
5b8c4e8024 [vm, service] Speed up generation and transmission of heap snapshots.
- Remove server-side transmission bottleneck in WebSocket compression.
 - Remove client-side transmission bottleneck in response inflation.
 - Remove generation bottleneck and memory overhead of WeakTables by using a finger table.

On dart2js self compile, 1.5GB heap, 400MB heap snapshot
Time to generate and transmit:    46 -> 5s
Auxiliary memory for WeakTables: 537 -> 1.5MB

Change-Id: Ia58e2ffb942e5d29536e175d9caedd2bf835981a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130621
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2020-01-08 03:22:59 +00:00
Mike Fairhurst
75a93bce5e [nnbd_migration] Fix Enum.toString(), the last exception in flutter.
Turns out the flow analysis bug was actually an issue with calling
toString() on an enum. This happened to throw the same type of exception
as caused by the shared part file, so it blended in. Flow analysis was
not itself broken.

Tested the other methods on enum too, but no others seemed to have this
problem.

Change-Id: I5e9e1be3f02adf0177c276c63d0c4f4fa2cb94db
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130622
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2020-01-08 01:38:19 +00:00
Paul Berry
cf063d3ba4 Analyzer: add some deprecation messages.
Change-Id: I7acce67a51d74c1a7ab043443169f8a62f33e1d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130568
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-01-08 00:59:29 +00:00
Konstantin Shcheglov
b7326f2807 Fix deferredPrefix.loadLibrary() resolution to check for extra arguments.
R=brianwilkerson@google.com

Change-Id: I75cab6bf235110e32e4d9c21d656c12eb42685d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130600
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2020-01-07 22:30:19 +00:00
Sam Rawlins
6d826735af Report unused constructors
Fixes #35108

Change-Id: I639f1165ec626fc0e8eadf6fa501200ec98af053
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127205
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2020-01-07 21:49:59 +00:00
Sam Rawlins
1f55149f87 migrator: Fix HTML-rendered text in navigation and tooltips
Fixes #39830

The instrumentation_output_test.dart was very old; used dead LibraryInfo class.
Moved this test, renamed to unit_renderer_test.dart.

Change-Id: I8a7538ab3d152944fd93ee6dcab39202344b613b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130562
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2020-01-07 21:48:10 +00:00
Paul Berry
72a0324b67 Prepare to publish analyzer 0.39.3
Change-Id: I4d5ded23383b1a823759a31dd1d3c44979e79fb8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130480
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2020-01-07 20:55:46 +00:00
Konstantin Shcheglov
64bbddd972 Always return a type from getReadType(), possibly dynamic.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I816f7e9b232d342b178a12f59db51704be021108
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130580
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-01-07 20:41:19 +00:00
Mayank Patke
0c51615dd9 [dart2js] Add TYPE_REF<T>().
Change-Id: I0cb576502575cd67031f3189a11d80e51dd70f0b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125462
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-07 19:51:30 +00:00
Mayank Patke
497005dd05 [dart2js] Represent nullability as its own bit on UnionTypeMasks.
Change-Id: I2edab02eb6d611215e490defb6f4919ce19f0f3f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130462
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-07 19:51:30 +00:00
Konstantin Shcheglov
94b69ae149 Fix TypeParameterType.== when reloaded elements and recursive bounds.
Change-Id: I648d8461f4909660af91152c780aa6c581a20525
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130463
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-01-07 18:34:14 +00:00
Mark Zhou
5696cd8d09 [dartdevc] Emitting nullability wrappers for generic classes and type parameters.
We are establishing a convention that nullability wrappers will be emitted at the
call sites of 'is', 'as', and '_check' calls (when necessary). Additional wrappers
will be emitted when forward-declaring generic types at the top level - but only
around the generic parameters themselves.

For example, declaring List<int>, List<int?>, List<int>?, and List<int?>? results
in two top-level classes: ListOfInt(int) and ListOfInt$(dart.nullable(int)).

Change-Id: I2d91e170d8e1e911ad9eb70d6b4d67f1cc4cdbc1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129921
Commit-Queue: Mark Zhou <markzipan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2020-01-07 18:33:35 +00:00
Samir Jindel
8a39cb8f66 [vm] Enable multiple entry-points on IA32.
Issue https://github.com/dart-lang/sdk/issues/34162

Change-Id: If3ca8448012dd1e3dc6e5f638e24202f53ccaf60
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129716
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-01-07 17:05:44 +00:00
Martin Kustermann
c0ca187f26 Revert "Create the frontend_server snapshot as a part of the sdk"
This reverts commit 24a0601d5b.

Reason for revert: This breaks the flutter build because flutter has
a build target producing the same "gen/frontend_server.dart.snapshot" file and is therefore conflicting.

See e.g. head-head-head bot failure:

    https://ci.chromium.org/p/dart/builders/ci.sandbox/flutter-engine-linux/9747


Original change's description:
> Create the frontend_server snapshot as a part of the sdk
> 
> This will allow us to use it from webdev, as it now supports DDC output.
> 
> Change-Id: I4b82d1c45d2c058abb062dddd2a2c41cc6318c45
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130134
> Reviewed-by: Keerti Parthasarathy <keertip@google.com>
> Reviewed-by: Jonah Williams <jonahwilliams@google.com>
> Reviewed-by: Vijay Menon <vsm@google.com>
> Commit-Queue: Jake Macdonald <jakemac@google.com>

TBR=keertip@google.com,jakemac@google.com,vsm@google.com,jonahwilliams@google.com

Change-Id: Ib2d782560cc005416ece429f9506dca055bffd9b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130377
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2020-01-07 15:10:23 +00:00
Karl Klose
c218b4309e [infra] Improve error reporting in test.dart
This CL changes test.dart to
- improve errors reporting with multiple configurations and builders
  by tracking the builders for each configuration separately
- improve output of which configurations and which builders are
  tested
- fix a missing check for the case that at least one invalid and
  one valid configuration was used
- remove a class and some type annotations

Change-Id: If91e3033c3892c39243327101d3017a5f8e710c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130369
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2020-01-07 14:45:25 +00:00
Jens Johansen
ecae983ef3 [CFE] Fix incremental compiler and incremental serialization when package changes path
The incremental compiler doesn't initialize from dill when it finds that
something in that dill has changed path (because of a change in package
version for instance).

Before this CL, though, it still initialized the incremental serializer
from the data, leading to weird and wrong results: If a package still in
use had been changed it could output the old serialization for that
package because invalidations didn't come into effect (as the incremental
compiler was starting from scratch and there thus was no libraries that
it didn't reuse (which are the ones that are "invalidated" in the
serialization world)).

This CL fixes the issue by only initializing the incremental serializer
when the incremental compiler has sucessfully initialized from the dill.

This should fix the problem that caused #39851.

Fixes #39851.

Change-Id: Ia62c4b7d96878174e0950a0dbbcdcbc4187615c5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130371
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-01-07 13:10:33 +00:00
William Hesse
2ee762c8de [infra] Improve output messages of get_builder_status.dart
Change-Id: Icb16e9408a5f15e774d5c2adafc0eaf507c2ce7f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130367
Reviewed-by: Karl Klose <karlklose@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2020-01-07 11:19:22 +00:00
Dmitry Stefantsov
d8a211206a [cfe] Fix upper bound algorithm for optional positional parameters
Closes #39930.

Bug: http://dartbug.com/39930
Change-Id: If102ccfbd7fe439c29e803cf9bb16f2dfa317892
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130366
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-01-07 09:16:12 +00:00
Johnni Winther
96a8282cd9 [cfe] Use structural equality for generic function types
Change-Id: Iecff57779243e042c5e9cad96c96139da9d93380
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129719
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-01-07 07:52:32 +00:00