1
0
mirror of https://github.com/dart-lang/sdk synced 2024-07-08 12:06:26 +00:00
Commit Graph

67068 Commits

Author SHA1 Message Date
Konstantin Shcheglov
dfe05e3f79 Don't compare bounds of TypeParameterTypeImpl(s).
Change-Id: I59ad8caaa74ad8ffbab0a8853b8a255a0a402a57
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119442
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-01 14:27:42 +00:00
Konstantin Shcheglov
8e8d1e4061 Remove unused parts of AstRewriteVisitor.
With summary1 out we don't need this method and the flag.

R=brianwilkerson@google.com

Change-Id: I1d8d8e78f5a457294d5dc3500172b130dbe320ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119522
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-01 14:23:52 +00:00
Konstantin Shcheglov
21c26ab6d9 Issue 38641. Fix scopes for metadata resolution.
I found an issue during todays google3 presubmit.

R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/38641
Change-Id: Ibfa53271405188147e7888c7e4c13bb1fdb40c82
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119521
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-01 14:09:12 +00:00
Jens Johansen
05c75c096d [CFE] Merge DDC and bazel incremental modular entrypoint code
Change-Id: Ia6ff627d50131fb55817e0d1adf2bc15240aeec1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119338
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-10-01 13:56:32 +00:00
Jens Johansen
998f1efbe9 [kernel] Add test for keeping sources when loading concatenated component
This CL adds a test for what was fixed in
79cc54e519, namely that when loading a
concatenated component, the uriToSource map shouldn't have its values
overwritten with objects with no source in them.

Change-Id: Ief899295d0b4ab97cbfe598a39bb47441d38c3ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119542
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-10-01 13:14:52 +00:00
Jens Johansen
84848b1467 [kernel] Add VM pragma prefer-inline to certain methods in kernel serialization
In my measurements this changes the time it takes to write the sdk by
-11.1274% +/- 0.624366% (via slightly modified
pkg/kernel/test/binary_bench.dart AstToBinary out/ReleaseX64/vm_platform_strong.dill)

Change-Id: I4c5cbe17f42b70ef361b2edda0b33c8fc1727b63
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119540
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-10-01 12:03:42 +00:00
Alexander Thomas
c09c81123d [infra] Update checked in SDKs to 2.6.0-dev.4.0
Update the checked in SDKs to avoid the dartfmt crash in dart_style
1.3.0 (https://github.com/dart-lang/dart_style/issues/855).

TBR=whesse@google.com

Change-Id: If9ab4036fd5691a87174ff2e7121e5c6ec238e34
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119337
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2019-10-01 11:29:32 +00:00
Daco Harkes
fb1c5a6404 [cfe/ffi] Cleanup after constant-update-2018
Change-Id: I1e49471b39b5e044e918455f0713a83cdb352324
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119336
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Auto-Submit: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-10-01 11:24:22 +00:00
Teagan Strickland
a2bb7301c5 [vm/compiler] Lift PC offsets out of StackMaps.
Instead of storing the PC offset inside the StackMap object, store it instead
in the `Array` containing `StackMap`s in `Code` objects. That is, the `Array`
provided by `Code::stackmaps()` no longer contains just `StackMap` objects, but
instead contains `Smi`s and `StackMap` objects in alternating fashion.  Each
`Smi` is the PC offset for the `StackMap` object that follows.

This ends up changing very little code outside of `StackMap`,
`Code::GetStackMap`, and `StackMapTableBuilder`, as there are only two types of
`StackMap` users:

* Users that call `Code::GetStackMap` already have the PC offset.
* Users that call Code::stackmaps() can just fetch the PC offset from the
  returned `Array` instead.

On 64-bit architectures, we will use more space to represent the PC offset
as a Smi in the Array than the old uint32_t field. However, the drop in total
number of StackMap objects due to an increased ability to canonicalize
them should offset this. On 32-bit architectures, we can only represent
30 bit PC offsets, not 32 bit PC offsets, but that shouldn't be a problem
in practice except for pathological cases.

_Numbers from building the Flutter gallery in android_release mode_

Since PC offsets are no longer in the `StackMap` objects, this enables
a lot more canonicalization than before. Previously, we generated
49379 `StackMap`s, but now we only generate 16139 `StackMap`s, just under
a third of the original number. This is because there were a lot of
`StackMap`s that differed only in their PC offset, and now they can
be canonicalized into the same `StackMap` object.

When building the Flutter gallery with android_release, the app.so size
drops from 11276896 bytes to 10908256 bytes, a difference of 368640
bytes, or 3.27%.

Using the AOT snapshot profiling support, we see the following drops:

Heap snapshot size drops from 10.7 MB to 10.4 MB.

`Code`              | Before  | After   | Difference
---------------------------------------------------------
Shallow size        | 352363  | 352363  | 0
Retained size       | 9114801 | 8796064 | -318737
Percent of snapshot | 81.2%   | 80.7%   | -0.5%

`(RO)StackMap`      | Before  | After   | Difference
---------------------------------------------------------
Shallow size        | 49381   | 16141   | -33240
Retained size       | 893965  | 286613  | -607352
Percent of snapshot | 7.97%   | 2.63%   | -5.34%

`StackMap`          | Before  | After   | Difference
---------------------------------------------------------
Shallow size        | 844584  | 270472  | -574112
Retained size       | 844584  | 270472  | -574112
Percent of snapshot | 7.53%   | 2.48%   | -5.05%

As we'd expect from the `StackMap` numbers above, we end up using a little
under a third of the space for `StackMap`s. We actually use even less space
(32.0% of the original) than the drop in `StackMap` numbers (32.7%), because
each `RawStackMap` instance is 32 bits smaller due to dropping the `pc_offset_`
field. Note that even though these PC offsets now show up in the
`Code::stackmaps()` `Array`, we can see this is still a net drop in space used
by looking at the retained size of `Code` objects.

Bug: https://github.com/dart-lang/sdk/issues/35274
Change-Id: I0910a43e7a5a7e2e721676209196be1884c5a71c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119147
Commit-Queue: Teagan Strickland <sstrickl@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-10-01 09:12:22 +00:00
Johnni Winther
8218857032 [kernel] Handle Extension in BianryBuilderWithMetadata
Change-Id: Iba967214e592d6836863ac523850ec573bd40998
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119335
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-10-01 08:15:50 +00:00
Johnni Winther
0ef041d8f2 [cfe] Avoid crash on explicit extension access of static members
Change-Id: Ia9df90138be93cb9aa2a3111fdc2127fdc3f6cb4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119334
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-10-01 07:34:20 +00:00
Jens Johansen
0242dea803 [CFE] Amend parser test framework to include intertwined output
Add expect file that includes both listener trace and actual parser trace.

Change-Id: I7fe1a13429b80ac4ce315f8b9248ab984644fd14
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119331
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-10-01 06:53:02 +00:00
Karl Klose
16bb96aa25 [infra] Remove non-essential test expectations with comments from general status files
Change-Id: I8aa918b4065eaa9ae8e4501c6a77328659784f9f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114848
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2019-10-01 06:18:59 +00:00
Felicitas Hetzelt
63b5fa1709 [dart/vm] Extend dartfuzz type system
Rationale:
Enable extraction of dart type information from the  dart analyzer to aid
dart program generation for fuzzing.
Change-Id: Ic8df02460dae49b116069e2f7ca4eb49517bd7a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112161
Commit-Queue: Felicitas Hetzelt <felih@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
2019-10-01 01:02:29 +00:00
Alexander Markov
5920048fa2 [vm,aot,bytecode] Handle direct-call metadata when generating bytecode
AOT transformations add vm.direct-call.metadata with devirtualization
information to AST nodes.

Bytecode generator should take this information into account when
generating bytecode in case of AOT. Bytecode format is extended with
CheckReceiverForNull and UncheckedDirectCall instructions, and
DirectCallViaDynamicForwarder constant pool entry in order to represent
devirtualized calls.

Change-Id: I697432ddd0b58d2d0413715132ba5e90eb606ec1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119201
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-10-01 00:20:48 +00:00
Aart Bik
67ae444f29 [vm/compiler] Revert flow graph check on push arguments
Rationale:
Does not seem all parts of IR were ready for this check

https://github.com/dart-lang/sdk/issues/38577

Change-Id: Ibf32f1338f36f86039564989c4fa1e991e5cc1cc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119484
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-09-30 22:18:13 +00:00
Devon Carew
5e24d6375e Rename the dart.assist.flutter.removeWidget action.
Change-Id: If836b299b2c3deeae02e61b47a7b21fed5796f7d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119480
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2019-09-30 21:41:04 +00:00
Nicholas Shahan
6af513d7b4 [dartdevc] Fix duplicate imports of dart:_runtime in runtime unit tests
Fixes issue with importing dart:_runtime in the modular framework that relies
on the es6 module format.

Change-Id: I17b7537d36e5df6be2c5d29546e6968b26a6c4ab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119460
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2019-09-30 21:08:44 +00:00
Paul Berry
9f8caeaf4c Migration: begin creating a third visitor class.
This visitor, once completed, will visit code after migration is
complete, determining the post-migration type of each expression, and
deciding where null checks are needed.

See #38472 for more information about why this is necessary.

Change-Id: I8c7dece643cf5417dbb66d5290fcdbad68d3e690
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119400
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-09-30 20:21:44 +00:00
Ryan Macnak
8a5e2a688b [vm, compiler] Consistently produce OutOfMemoryErrors for large variable-length object allocations.
Bug: https://github.com/dart-lang/sdk/issues/38575
Change-Id: I3f93488511519ac1dca04f91465efad3d2a0c66d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118886
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
2019-09-30 20:19:03 +00:00
Aart Bik
5f32afdd4c [vm/compiler] patch up push arguments in environment
Rationale:
My great friends PushArguments again! During OSR, the replacement
of a lost PushArgument (due to having this on the expression stack
while OSRing) must also be reflected in the environment. Why? This
is used for the stack depth bookkeeping. Note that I added some logic
for this less-than-obvious assumption in the flow graph checker to
make sure we don't fall into this trap again (currently only for
instance methods, since the IR is not clean for the others, that
is yet TBD). With regression test!

https://github.com/dart-lang/sdk/issues/38412
https://github.com/dart-lang/sdk/issues/38577
https://github.com/dart-lang/sdk/issues/38602

Change-Id: I8e4ff67e3e0926ff3ee6b6ac0af05f7ea0dc5ea1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118913
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-09-30 20:05:53 +00:00
Mayank Patke
b9b5139b9e [dart2js] Delete unused parts of class stub generator.
Change-Id: I0204afe624fcbe29cd7a295b9e9ec0f6f5277838
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119461
Commit-Queue: Mayank Patke <fishythefish@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
Auto-Submit: Mayank Patke <fishythefish@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2019-09-30 19:58:03 +00:00
Konstantin Shcheglov
929716a446 Stop using DartType.isSubtypeOf() in runtimeTypeMatch().
Change-Id: If073faa8659494a04861df653189648b0d54bc1a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119221
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-30 19:54:43 +00:00
Alexander Aprelev
692230b484 [build] Introduce gen_snapshot_host_targeting_host.
This is to allow flutter to build x64-version of gen_snapshot as part of host x86 build.

Change-Id: I54948e03e50fc19ade74d9165781957b116075c4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119205
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2019-09-30 18:10:37 +00:00
Konstantin Shcheglov
17f081a1fb Fix for the context type for arguments in constructor initializers.
This fixes some other rare issues encountered during running google3
presubmit with runtime type checking for constants.

https://test.corp.google.com/ui#id=OCL:271764619:BASE:271800075:1569771780644:bd6ae73b

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

Change-Id: I0fe88185e0c3340930c0e188cf42fbf08963baab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119441
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-30 18:03:57 +00:00
Ben Konyi
7e4058e3a5 [ VM / Service ] Update service tests to no longer use --disable-service-auth-codes
Also fixed issue where --write-service-info could not accept URIs.

Change-Id: I0b136dd83335f0aed260850b2e5a5aed36df4317
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119083
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2019-09-30 17:47:03 +00:00
Brian Wilkerson
5236285432 Expose the getter EdgeInfo.isTriggered and make use of it
Change-Id: I2177ffb65485f3a9fd73f76a420b4c2aa5007ea8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119422
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-09-30 17:45:22 +00:00
Brian Wilkerson
425c6c6724 Rename some local variables per earlier feedback
Change-Id: I257d0e246b2eb3a7987c9279c6f5b2b0a9453af0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119421
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-09-30 17:34:43 +00:00
Ryan Macnak
14983a2941 [vm/bytecode] Add timeline events for major compilation phases.
Change-Id: Ie2a1f8a5979bb58133535b7698c5137d4ab2b046
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118648
Reviewed-by: Jens Johansen <jensj@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-09-30 16:36:09 +00:00
Ryan Macnak
6b39eb3248 [vm] Remove the 'Profiler' timeline stream.
Accidentially renamed to 'Developer' in 4b6ab33cfa due to confusion between the library 'dart:profiler' and the Fuchsia trace category 'dart:profiler'.

Dead since the removal of _writeCpuProfileTimeline in 68dede011e.

Change-Id: I7ebd9c5e59d8075b424751e155ccd321985d3599
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119086
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-09-30 16:30:26 +00:00
Ryan Macnak
623fd5c8cd Add embedder/vm layer checks to presubmits.
Change-Id: Idcfe4692ac0c047ed9a0fb817a17513ff964a2eb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119080
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-09-30 16:28:07 +00:00
Mike Fairhurst
328addd2cf Skip timing out mac+linux tests.
This uses, temporarily, a hack to skip the tests. The `skip_` prefix is
not formally recognized, however, it causes it to not be registered as a
test.

After landing this, I will add a @skippedTest annotation to
test_reflective_loader and switch to that.

This doesn't fix the windows dartfix tests, which are structured differently.

Change-Id: Id1bc1dd801c3182381d2c769af52b26f1ea6fa12
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119203
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-09-30 15:58:53 +00:00
Konstantin Shcheglov
f135761537 Set the context type for inference after rewriting AST.
Otherwise we create a new node during rewriting, and lose the context
type that was set for the old node.

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

Change-Id: Ife792900696b44c92577d88e06fd40fa9cf97fe8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119260
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-09-30 15:44:36 +00:00
Danny Tuppeny
34bdcec877 Don't statically register for LSP document changes when dynamic registration is supported
Change-Id: I672a3207ab0a0f869721f6cce81b2b81c97db4ea
Bug: https://github.com/dart-lang/sdk/issues/38490
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119333
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-09-30 14:51:36 +00:00
Konstantin Shcheglov
93902399dd Remove isAstBasedSummary, keep only 'true' branches in tests.
R=brianwilkerson@google.com

Change-Id: Ie27d5569e526193feb07480d923ad355fcf72291
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119280
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-30 14:37:02 +00:00
Konstantin Shcheglov
963c338104 Don't use ResolverTestCase for two tests.
R=brianwilkerson@google.com

Change-Id: I375dfe9d9227d9a0cca50ed9ed5938620f9cfc50
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119300
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-30 14:35:37 +00:00
Konstantin Shcheglov
3f65652ad0 Enable avoid_init_to_null.
R=brianwilkerson@google.com

Change-Id: I983fdff71c47dbf2b271508955095a73cfbeee59
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119380
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-30 14:26:06 +00:00
Konstantin Shcheglov
a006914279 Enable prefer_contains and no_duplicate_case_values.
R=brianwilkerson@google.com

Change-Id: I2ad2754b587c00d40811f6e5710b30d9111b828a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119361
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-30 14:25:36 +00:00
Konstantin Shcheglov
d3e7adf548 Issue 38641. Fix linking metadata with unqualified references to static methods.
This CL includes changes to ResolvedAstPrinter done in a previous CL.
But it also includes new changes, I'm sorry about this.
https://dart-review.googlesource.com/c/sdk/+/119260

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

Bug: https://github.com/dart-lang/sdk/issues/38641
Change-Id: I05e9b0cf94a11aa8f18829bbecb25f0c930d00df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119360
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-30 14:16:07 +00:00
Danny Tuppeny
82b25f9e47 Use server snapshot for LSP tests
This matches the non-LSP tests and has a significant performance improvement.

Bug: https://github.com/dart-lang/sdk/issues/38548

Change-Id: I62772c8e8c1bbbec97406b7993844dd5b16c4350
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119330
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-09-30 13:49:59 +00:00
Aske Simon Christensen
0a5f736c68 [cfe] Fix missing comma between type parameters in function types
Change-Id: I90f7d1665a93414ed89799b3f564fdb7d2114e20
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119324
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Auto-Submit: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-30 13:44:59 +00:00
Brian Wilkerson
343723cdff Support navigation targets in migration tooling
Change-Id: I13ee9ae0d87272248b83c45ee775dd359d830850
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119340
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-09-30 13:38:09 +00:00
Johnni Winther
f1d6282fa3 [cfe] Report error on extension members that conflict with Object members
Closes #38561

Change-Id: I9c26879662502e1f56203f87d1cd7a21036dcb2f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119325
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-09-30 13:21:49 +00:00
Dmitry Stefantsov
b682235c4c [cfe] Preserve the nullability of LHS of intersection types
Change-Id: I2e91338d4172c1288ceb58c566d9d3e3e465a0b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118985
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2019-09-30 12:53:19 +00:00
Dmitry Stefantsov
902a36e36f [cfe] Thread nullability of typedef types from source into Kernel
Closes #38214, #38215.

Bug: http://dartbug.com/38214
Bug: http://dartbug.com/38215
Change-Id: I6f96668f3dc7b315b0848a8d8953783ceb5f1c47
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119326
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-30 12:52:29 +00:00
Dmitry Stefantsov
b361639a74 [cfe] Account for nullability in type substitution on TypeBuilders
Closes #37689.

Bug: http://dartbug.com/37689
Change-Id: Ifac30bede3dbec9008e31e5fc81014cc69069afc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119145
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-30 12:52:29 +00:00
Dmitry Stefantsov
7d75eb1fd9 [cfe] Account for nullability in type substitution on DartTypes
Bug: http://dartbug.com/37689
Change-Id: I5c37f0e13da956285300288cffc58263e67ac302
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119140
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-30 12:52:29 +00:00
Alexander Thomas
e39a15b6d6 [release] Add 2.5.1 to CHANGELOG.md
TBR=whesse@google.com

Change-Id: Id50b298857133c6b3b89626c8b84f1412c1940be
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119329
Reviewed-by: Alexander Thomas <athom@google.com>
2019-09-30 11:32:25 +00:00
Johnni Winther
d8c5daf17a Enable extension methods by default
Change-Id: Ib70ac3a1dd4885ef95a9b5b001978ffbb46f6ad0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119327
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-09-30 11:28:46 +00:00
Johnni Winther
e52542b421 [cfe] Handle generic return types
Returns types on generic methods in generic extension that contained
type variables declared on the generic method were not substituted,
leaving these as unindexed type parameters during serialization.

Change-Id: I4f53005318ba2be014bfe6e92f4f6c93288f2a4f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118995
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-30 10:58:05 +00:00