Commit Graph

4114 Commits

Author SHA1 Message Date
Erik Ernst 0579a9250a [cfe] Pass typeArguments from parser
This is the "next step" mentioned in
https://dart-review.googlesource.com/c/sdk/+/141240.

`List<UnresolvedType> typeArguments` were dropped (and null was passed)
in several cases in `handleSend`, but they are needed in
BodyBuilder.buildConstructorInvocation in the case where the receiver
of the constructor invocation is a type alias.

This CL ensures that the `typeArguments` are passed when needed, and a
named parameter `isTypeArgumentsInForest` is passed in order to preserve
the information about whether or not they have been to the `forest`.

The CL also adjusts tests '{generic_,}usage_type_variable_*' to fit the
decision made in language issue 848 that a type alias cannot be used
for constructor invocations when it (directly or indirectly) denotes
a type variable.

Change-Id: I8d831457e35a7455f8fcfe461a10872c61555748
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141543
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2020-04-01 16:57:15 +00:00
Johnni Winther d68f552e70 [analyzer,cfe] Handle (un)assigned state in try-statement
This handles (un)assigned state in try-statement that do not
complete normally. In this case we could create a variable model
for an unreachable state that would be both assigned and unassigned
leading to an assertion failure.

Closes #41284

Change-Id: Id4c7689bc7c614338af3542eb342c964696fca1e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141981
Auto-Submit: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-04-01 15:46:15 +00:00
Jens Johansen 47b57e8995 [CFE] Cache checkInheritanceConflict calculation
When compiling a big internal app with the NNBD SDK there's a big time
regression. This is a first "poor-mans fix" that "fixes" it via caching
which probably is not the best solution, but does the trick.

Without change
==============

Without NNBD platform:

$ out/ReleaseX64/dart pkg/front_end/tool/_fasta/compile.dart --target=dart2js --platform=out/ReleaseX64/dart2js_platform.dill -v bigapp.dart
[...]
0:00:14.238352: Built class hierarchy in 1663ms.
[...]
0:00:55.871356: Wrote component to bigapp.dart.dill in 5690ms.


With NNBD platform:

$ out/ReleaseX64/dart pkg/front_end/tool/_fasta/compile.dart --target=dart2js --platform=out/ReleaseX64NNBD/dart2js_platform.dill -v bigapp.dart
[...]
0:04:41.842548: Built class hierarchy in 268716ms.
[...]
0:05:22.120455: Wrote component to bigapp.dart.dill in 5407ms.

So: Big regression; it takes almost 4.5 minutes to built the class
hierarchy and almost as long extra to compile as a whole.


With change
===========

Without NNBD platform:

$ out/ReleaseX64/dart pkg/front_end/tool/_fasta/compile.dart --target=dart2js --platform=out/ReleaseX64/dart2js_platform.dill -v bigapp.dart
[...]
0:00:15.255893: Built class hierarchy in 2175ms.
[...]
0:00:55.203753: Wrote component to bigapp.dart.dill in 5306ms.

So: Without the NNBD platform there's basically no change.


With NNBD platform:

$ out/ReleaseX64/dart pkg/front_end/tool/_fasta/compile.dart --target=dart2js --platform=out/ReleaseX64NNBD/dart2js_platform.dill -v bigapp.dart
[...]
0:00:15.864901: Built class hierarchy in 2574ms.
[...]
0:00:55.640201: Wrote component to bigapp.dart.dill in 5363ms.

So: With the NNBD platform, the speedup is significant and there's basically no
change between using the NNBD platform or not.
Change-Id: I74993710a34f08f69421b03f2682ff8418af7599
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141982
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2020-04-01 12:28:34 +00:00
Dmitry Stefantsov 2e822ae91b [cfe] Apply the special treatment of FutureOr in GLB for NNBD
For details see:
https://github.com/dart-lang/sdk/issues/37439#issuecomment-519654959

This CL implements the same special treatment of FutureOr to the
NNBD-aware algorithm for computing of GLB.

Change-Id: I6e95b9884738b426dce0152217d79fe0298404bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140658
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2020-03-31 09:16:49 +00:00
Jens Johansen 605f9eb030 [CFE] Perform transformPostInference when doing expression compilation
Previously, if using spread features, it would crash (if not before
when trying to serialize), and set literals wouldn't be transformed
away either (which the VM probably requires).

It should fix https://github.com/flutter/flutter/issues/41678

Change-Id: I40361d592e9e7a3fe820c4835aaac893c87d94fb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141620
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2020-03-31 06:48:19 +00:00
Johnni Winther 82d4bd1c7e [cfe] Handle member signatures from dill in class hierarchy builder
Closes #41210

Change-Id: I1e38e014c04f140dd37821375a6efbfe73f37562
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141545
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-30 14:09:31 +00:00
Erik Ernst 56748006a1 [cfe] Add missing .next in endImplicitCreationExpression
Said method seems to break the pattern of similar methods, and the
actual token seems to be wrong. This change seems to fix the issue.

Change-Id: I54fcaa0ce2a846cbe10dfe5edc4e30282c523731
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141544
Auto-Submit: Erik Ernst <eernst@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2020-03-30 12:52:51 +00:00
Jens Johansen 7d4d26a013 [CFE] Add api to get language version for uri
Closes #41205

Change-Id: I9e55257341e7c53f4f68f9d636b04f8fd6bffb68
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141250
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2020-03-30 09:14:25 +00:00
Johnni Winther 6540f603d8 [cfe] Don't include member signature in id testing by default.
This prepares id testing for the unforked sdk where all Object
members add a member signature in the immediate opt-out subclasses
of Object.

Change-Id: Ife443582c4f88b6c8673aa560a700dbb88475c3b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141600
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-30 08:42:25 +00:00
Johnni Winther 0a9e57419b [kernel] Make verbose qualified names conditional in toStringInternal
Including the library name/uri in types and member names makes these
unreadable in most cases. This changes that default toStringInternal
to omit the library name/uri but supports a verbose mode that includes
the library name/uri for debugging the rare occasions where they matter.

Change-Id: I783e8bd0ac5d2f19c3051e8e7f226b240c8d1bc8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141546
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-30 08:41:15 +00:00
Erik Ernst f180511499 Add implementation of several parts of non-function type aliases
Generalize `TypeAliasBuilder.unaliasDeclaration` such that it takes
an argument `typeArguments` and uses that to handle the case where
a type alias application ultimately expands to a type variable (e.g.,
with `typedef F<X> = X`, `F<int>` expands to `int`), and also to
emit a compile-time error in the case where such a type alias is
used to invoke a constructor or invoke/tear-off a static member.

Next step: Pass `List<UnresolvedType> typeArguments` from `handleSend`
to `finishSend` etc. to `BodyBuilder.buildConstructorInvocation`,
which seems to be a somewhat larger refactoring; needed in order to
make `generic_usage_class_test` pass. Some other fix is needed in
order to make `generic_usage_type_variable_test` pass.

Change-Id: Icd3593f03c6348c50b1ec3d7c9676f1bd7c56daf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141240
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-03-28 09:35:02 +00:00
Johnni Winther 4150349c7c [cfe] Handle throw in return type inference
Closes #41156

Change-Id: I6f5360ccf3f05c2f59de5db703d90431e0d61e7c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141100
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-03-27 15:59:27 +00:00
Jens Johansen 4ab3bda5db [parser] Change recovery for constructor; report errors in bad constructors
Change-Id: I3d656afce4a3ec14c7c099893a434abba3945ebf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140862
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2020-03-27 11:57:56 +00:00
Johnni Winther b8b4a16179 [cfe] Use legacy erasure before argument inference
If calling an opt-in method from opt-out we would use the opt-in
parameter types as type context for the arguments leading to
opt-in inference in opt-out libraries. With this change the
callee type is legacy erased before inference when the invocation
is in an opt-out library.

Closes #41180

Change-Id: I55a0a4f055f500652c154c020a175fe12892abb9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140861
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-27 10:16:29 +00:00
Jens Johansen 3e053b7da2 [kernel] Polish toString implementation on AST nodes
Change-Id: I0c21ded156243d8f8ff178d1b31bf0512758ebe1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141101
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-03-27 07:33:38 +00:00
Dmitry Stefantsov 72ca0f58cd [cfe] Make type schema elimination NNBD-aware
Closes #40977.

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

Change-Id: I3134d53a2698279fe5cee5a2fdf85bdc3cc5da33
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140292
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-03-25 11:19:20 +00:00
Johnni Winther 9ea09ce17b [cfe] Improve message on final variable assignment
Closes #40242

Change-Id: Iccdfbf01da18ddd501dc705b678358c974003551
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140654
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2020-03-24 13:11:29 +00:00
Johnni Winther 62f84880ef [cfe] Report error on missing return from non-nullable function
Closes #40520
Closes #40948
Closes #40425

Change-Id: I0aa3cfa51b410c90dd0bea963846eeb6b2e73efb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140540
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-03-24 08:21:36 +00:00
Johnni Winther 7ec1d20122 [cfe] Fix explicition extension index set key type
Closes #39527

Change-Id: Ic55498bbf72cf720dadf3fa7f816c7bae1715b52
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140401
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2020-03-24 06:52:46 +00:00
Johnni Winther 9605fc367f [cfe] Report error on required named parameters overriding optional named parameters
Closes #40950

Change-Id: I5d829affd3df9ca66d5a1b632f364779bdcfb2ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140541
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-03-24 06:22:16 +00:00
Johnni Winther 4620d8fc6b [cfe] Add context to member type inference errors
Change-Id: I968ac9a9e561ff37bfc25ac91e000578b023646d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140500
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-23 19:34:03 +00:00
Johnni Winther 4e1954fa08 [cfe] Infer loadLibrary return a non-nullable future
Closes #41122

Change-Id: I1ca82e27cc73900e19369d152cec4f7a7621777b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140400
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-03-23 17:24:43 +00:00
Johnni Winther b8544e8220 [cfe] Don't report nnbd errors/warnings in top level inference
Closes #41102

Change-Id: Ieede171d92aa28b0ad9478a1b4293ddf35418d7e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140040
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-03-23 16:39:03 +00:00
Dmitry Stefantsov d9f485b241 [cfe] Restrict nullable typedefs to nonfunction-type-aliases
Change-Id: I1ca5a44159d6b9c514606c8ea1c4535880b697bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140286
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-03-23 16:21:03 +00:00
Johnni Winther d2e96aa6d3 [cfe] Report error on (un)assigned late variables
Closes #40601
Closes #41103
Closes #40946

Change-Id: I1a28f497ffe0be3d1f9e673f1e8be7a518bbfc7e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140403
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-23 14:48:53 +00:00
Jens Johansen feefcf0c94 [kernel/CFE] Simplified toString on (ast) nodes
This is a bare-bones implementation (and test) for having an explicit
toString on all `Node`s.
This can then be extended as-needed to better suit our debugging
purposes. It's not allowed to leak, though.

Change-Id: I8d3f5a9cd13b292ed7a6bf33762e507286f3fa7d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139805
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-03-23 10:25:23 +00:00
Johnni Winther 0e75a0650f [cfe] Handle mixing in Function
Closes #35477
Closes #35573

Change-Id: I0612641108caf1fa08da1aae7684e7f33dfe3b46
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140402
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-23 09:56:30 +00:00
Johnni Winther 2049335af3 [cfe] Improve message on ambiguous extension member access
Closes #40862

Change-Id: I7cc2c0cfbbc878709dc3ad645d8a4b37094056c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140520
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2020-03-23 09:33:20 +00:00
Johnni Winther 8617084832 [cfe] Refactor getter/setter/method type inference.
This removes the need for member type inference during override
checking.

Change-Id: I67e2da91cda362b0dda1f5ab6791db458fae6c92
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139815
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-21 11:48:46 +00:00
Robert Nystrom 82f8a5451f Add "ffi_2" to the CFE's opt out test directory list.
Change-Id: Ia48d3fa1a13a27c3704d6a4fa980c2b9f2bae24a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140460
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-03-21 04:06:45 +00:00
Johnni Winther eb4880beca [cfe] Don't include Function in Class.supertype and Class.implementedTypes
Change-Id: Ib510080a331915a66a0ca51507f8f2bcd29940c0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140042
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2020-03-20 16:48:09 +00:00
Dmitry Stefantsov dea82cc39a [cfe] Make instantiation-to-bound algorithm NNBD-aware
Closes #40764.

Bug: https://github.com/dart-lang/sdk/issues/40764
Change-Id: Ia9eff062f54632edbdb26937879742d7a813a07c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139643
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-03-20 09:03:41 +00:00
Johnni Winther 6dff390dec [cfe] Compute consolidated supertypes
Change-Id: Ifa2303afd61af184b171f13f5959b0786273cedb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140041
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-19 15:26:09 +00:00
Dmitry Stefantsov 3b6935f30e [cfe] Report NNBD warnings as errors in strong mode
Closes #40981.

Bug: https://github.com/dart-lang/sdk/issues/40981
Change-Id: I95715ab973a6f09bf7f8b4e090e5a80663cd4861
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139463
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-03-19 11:26:39 +00:00
Robert Nystrom d4cbf0d9a1 Add dart2js test directories to the CFE opt-out whitelist.
This doesn't reduce the technical debt of having the whitelist in the
first place, but it correctly treats those tests as being opted out.

This doesn't address "compiler/dartdevc_native". That one's a little
harder because it contains a mixture of NNBD and legacy libraries. We
might want to put "@dart=2.7" tags in there for the legacy ones. I'll
look into that in a separate CL.

But this should at least get the CFE handling some more of the tests
correctly.

Change-Id: I4db0d671ac097eba27bfbeedb296a8526043622a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139868
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-18 08:36:56 +00:00
Johnni Winther 5df236229a [cfe] Perform full field type inference in delayed type computation
Change-Id: I2de1626588866c4089152747e70ddd8ff84a672b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139809
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-17 17:25:01 +00:00
Johnni Winther bd9cb563a4 [cfe] Handle forwarding constructors in hasConstConstructor computation
Closes #41070

Change-Id: If2f7120a29de97b4690f867c60aa6e21b1b777d5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139806
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-17 15:25:33 +00:00
Johnni Winther 5721a33077 [cfe] Compute signature as part of override dependencies
Change-Id: I893a8a31d78185ee73a8d175e63f13194e1cb991
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139501
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-17 14:42:02 +00:00
Johnni Winther 4aba58122c [cfe] Handle bool.hasEnvironment constructor in constant evaluation
.fromEnvironment environment constructor handling is updated to read
the default value from the declaration instead of hardcoding it.

Closes #41051
Closes #40501

Change-Id: I8eb4018dc7d6bea466a645d7762702914d9887db
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139642
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-17 10:10:42 +00:00
Dmitry Stefantsov 928f9fc932 [cfe] Remove flag --force-nnbd-checks
The checks are now always enabled for the "non-nullable" experiment

Closes #40980.

Bug: https://github.com/dart-lang/sdk/issues/40980
Change-Id: I32a141a93f0ba86ebdab554e1f312c2147927993
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139440
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2020-03-16 15:01:38 +00:00
Johnni Winther e470662897 [cfe] Report error on opt-in exporting opt-out
Closes #41032

Change-Id: I45fbb4c5cc5e723d3638ceb650909764d5c8012d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139460
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-16 08:28:17 +00:00
Jens Johansen 0768b8e6cd [CFE] Better and more errors on type parameters when they're not allowed
Change-Id: Iefcc31ca09b76cced003cdfea7256a1b898dc3a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139204
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-03-13 12:39:50 +00:00
Johnni Winther a303769fad [cfe] Use legacy erasure on constraint solving
Closes #40909

Change-Id: Ifd37037b27f978a0948309f134523c570af25c56
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139284
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-03-13 11:51:10 +00:00
Johnni Winther a5eb0b559c [cfe] Handle callable extension getters
Closes #40596
Closes #40713
Closes #39889

Change-Id: I183560b912e2f6f2c02d51278c0d28c8a6d67f99
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139203
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-13 10:46:39 +00:00
Johnni Winther 6c6144bb74 [cfe] Implement consolidated in ClassHierarchyBuilder
Closes #40414 and #40156



Change-Id: I066aa8ceef4f998230215fd9e9b446b2281cc3bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138294
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-03-13 08:16:49 +00:00
Johnni Winther e865bd89d1 [cfe] Normalize nullabilities in opt out libraries
Closes #40526

Change-Id: Idf40bd430fad0f08d7cc117f988bfc5e2b432a46
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139200
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-12 21:58:17 +00:00
Johnni Winther ae2a25c537 [cfe] Handle FutureOr in late lowering
Closes #40783

Change-Id: Ia3afff050df8719bd7574c753639cde1ca321eff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138930
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-03-12 21:55:46 +00:00
Jens Johansen 666f97baed [CFE] Add ticker log at end of Build outline expressions
Change-Id: I05df644ff6aefc4dd5de3f06a82586465e700bfc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138800
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2020-03-12 12:31:42 +00:00
Jens Johansen ff9d548141 [CFE] Error in outline and recover from type parameter in static field in class part 2
Change-Id: I48c1b65424c0e1df9b7f95e83b1793a1b5cdee90
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138921
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-03-12 12:23:42 +00:00
Jens Johansen a55fed2e5f [CFE] Get in line with update on which package description file to use
Fixes #40864

Change-Id: I681186660162c55e66c1deee68a4052de4cfcfe9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139201
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2020-03-12 11:33:52 +00:00