Dmitry Stefantsov
8e0b0d5fa0
[cfe] Add NNBD-aware constraint gathering and solving
...
Closes #41105
Closes #41106
Closes #41447
Bug: http://dartbug.com/41105
Bug: http://dartbug.com/41106
Bug: http://dartbug.com/41447
Change-Id: I041c4a861fa580a9a9da77416308300206f4774e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151393
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-06-24 14:35:01 +00:00
Johnni Winther
711da04fb4
[cfe] Associate package uris with bin/test files in packages
...
This CL adds a package uri to SourceLibraryBuilder based on the
package information computated by package:package_config. This uri is
used to determine whether experimental flags are enabled and thus using
allowed_experiments.json in bin/test folders as well as the lib folder.
Change-Id: I60e6e97139a4a24b8d4d27d314cfc0f7d7bfc816
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152151
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-06-24 14:33:31 +00:00
Dmitry Stefantsov
929d5e4a98
[cfe,ddc,dart2js,vm] Add FutureOrType
...
This CL is the sum of the following 5 CLs:
* https://dart-review.googlesource.com/c/sdk/+/149297/
* https://dart-review.googlesource.com/c/sdk/+/149299/
* https://dart-review.googlesource.com/c/sdk/+/149320/
* https://dart-review.googlesource.com/c/sdk/+/149321/
* https://dart-review.googlesource.com/c/sdk/+/149323/
The reason for landing the 5 CLs as one CL is to prevent potential
troubles with bisecting over the branch because the change is fully
functional only with all 5 CLs.
Closes #40123 .
Bug: https://github.com/dart-lang/sdk/issues/40123
Change-Id: Ice52250a98acfe455b1d7fa5bb0624c115ca5dac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150934
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-06-15 12:18:46 +00:00
Joshua Litt
f9f1ca6171
[dart2js] Create tests/dart2js for nnbd.
...
Change-Id: Ib8721cf976803d8d1b9d723b7e691e344c768b67
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149881
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Joshua Litt <joshualitt@google.com >
2020-06-09 16:53:15 +00:00
Joshua Litt
451694e855
[dart2js] Move dart2js_native to dart2js/native.
...
Change-Id: I2f879fe18376b8c1b82fc201d488425dc154d2b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149341
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Joshua Litt <joshualitt@google.com >
2020-06-04 18:11:49 +00:00
Joshua Litt
05ca544f15
[dart2js] Move tests/compiler/dart2js_extra to tests/dart2js_2.
...
Change-Id: Iaa0ca2b4f2d1b15f79ddca37834d3ed2497bc068
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149242
Commit-Queue: Joshua Litt <joshualitt@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2020-06-03 15:15:30 +00:00
Johnni Winther
23d70f6f23
Reland: [cfe] Embed and use allowed experiments in CFE
...
This CL embeds the sdk_nnbd/lib/_internal/allowed_experiments.json
into the CFE and uses this to allow experiments enabled on a
per library basis. The file is embedded through generated code to
avoid reliance on access to the file itself.
A presubmit check is also added to ensure that the json file and
the generated code are in sync.
This work is in preparation for https://github.com/dart-lang/sdk/issues/41538
This was reverted in https://dart-review.googlesource.com/c/sdk/+/149620
because flutter wasn't prepared for auto-enabling nnbd in dart:* libraries.
This has now been fixed in https://github.com/flutter/engine/pull/18714
Closes #42162
Change-Id: I686ed6feaef8ee066b426068fe2a0f5080bf1713
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149588
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-06-03 08:15:49 +00:00
Johnni Winther
aec6a3529e
Revert "[cfe] Embed and use allowed experiments in CFE"
...
This reverts commit a936f3019e as it broke
flutter hhh fuchsia build: https://ci.chromium.org/p/dart/builders/ci.sandbox/flutter-engine-linux/10876
Change-Id: I0a83e5edf8d53fc648a4f548529e456a5e6bcfc9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149620
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Alexander Aprelev <aam@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-06-02 08:48:51 +00:00
Johnni Winther
a936f3019e
[cfe] Embed and use allowed experiments in CFE
...
This CL embeds the sdk_nnbd/lib/_internal/allowed_experiments.json
into the CFE and uses this to allow experiments enabled on a
per library basis. The file is embedded through generated code to
avoid reliance on access to the file itself.
A presubmit check is also added to ensure that the json file and
the generated code are in sync.
This work is in preparation for https://github.com/dart-lang/sdk/issues/41538
Change-Id: Ic03c0fc69684d124c685f2fe6e80423a7e751530
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149064
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-05-30 09:47:02 +00:00
Johnni Winther
3a021a6545
[cfe] Remove EvaluationMode.legacy
...
This is no longer valid. Since the SDK is agnostic we should default to weak mode.
Change-Id: Ia9fbf911e7ebb595c93a71afe3bb8de7495cebba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149065
Reviewed-by: Jens Johansen <jensj@google.com >
2020-05-30 09:47:02 +00:00
Joshua Litt
20faaa5d94
[dart2js] Move dart2js unit tests to pkg/compiler/test.
...
Change-Id: Ib18f554c1076f27a3f7c0df5a36410da41a1f467
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148784
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2020-05-28 18:51:11 +00:00
Alexander Markov
cbb5305f78
[vm/nnbd] Optimize type casts
...
Add a kernel transformation which removes redundant casts and reduces
some casts to null checks. This transformation assumes that type
system is sound and subtyping relation is transitive. So in NNBD weak
mode this transformation is always correct. In NNBD strong mode
this transformation is correct only if opted-out libraries are not
allowed.
The following patterns are handled:
If S <: T (this includes S <: T? in weak mode)
S x; x as T => x
If S <: T? in strong mode
S x; x as T => (x == null) ? x as T : x
This kernel transformation is not specific to the VM and can be reused
by other back-ends such as dart2js and DDC.
Fixes https://github.com/dart-lang/sdk/issues/40892
Issue https://github.com/dart-lang/sdk/issues/40893
Change-Id: I466ba96d763d5358011c768400c5225fa7bf5e67
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139314
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2020-05-19 02:35:12 +00:00
Johnni Winther
00353040b9
[CFE] Error when strong mode mixed with non-opted-in
...
Change-Id: Ibff34fe071a6d10ce29c30e1d008d4a5ce6690a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140868
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-05-14 17:10:51 +00:00
Paul Berry
275b922ee8
Revert recent parser fixes
...
Commit 1f9b5c1996 causes tests to fail
in angular when rolled into internal sources; the other two commits
need to be reverted as well to avoid merge conflicts.
This reverts commit 1f9b5c1996 .
This reverts commit c40b24da48 .
This reverts commit 96df1f9e6c .
Change-Id: Ic4e55181ef60e825ce4409a9a9528ecbf19c39c4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147822
Reviewed-by: Mike Fairhurst <mfairhurst@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2020-05-12 22:02:09 +00:00
Jens Johansen
96df1f9e6c
[parser] Add ErrorToken for ignored (unmatched) end parenthesis, brackets etc
...
Change-Id: Idb57295700988d71321743af9782134b02562311
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/146240
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-05-11 14:46:47 +00:00
Johnni Winther
645f3acca7
[cfe] Update greatest closure of ? to Object?
...
Closes #41386
Change-Id: I1a5a4cdc35cef37c7a8ba6a6aecb99457789bcdc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144940
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-05-04 08:14:43 +00:00
Jens Johansen
c08bcbb25e
[CFE] Enable textual outline sorting in test suite
...
Change-Id: Iccf35b9cb3dce96487ca9ba688394e3b05be2e75
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145401
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-04-30 08:25:17 +00:00
Jens Johansen
b1435ec38a
[CFE] Textual outline can sort data
...
Change-Id: Iac337903aace923f2cff8797840aa5cdbfded03f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145400
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-04-30 08:25:17 +00:00
Jens Johansen
f66e1ed7be
[CFE] Textual outline expect files
...
Change-Id: I5cc3339880d0a77fbbcbd9f8a22e1186e5e2a5df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145380
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-04-30 08:25:17 +00:00
Konstantin Shcheglov
eada4d8d65
Implement Factor in flow analysis.
...
Bug: https://github.com/dart-lang/sdk/issues/40014
Change-Id: I8d21d3c3368495d9d0dbb1cd52317b053657a176
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144804
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2020-04-27 18:47:08 +00:00
Johnni Winther
d38070604d
[cfe] Include problems reported outside serialized component in expectations
...
Change-Id: Ia0996bd759cd2447e1812dcf3934fa16a648500f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143813
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-04-20 12:07:56 +00:00
Johnni Winther
7425ef9470
[cfe] Support --link-dependencies on fasta compile
...
Change-Id: I8af2d127764e4ef60a1ea0a5ab0804a417ce42f7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143808
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-04-20 08:34:36 +00:00
Johnni Winther
f48a3afbae
[cfe] Handle nullability difference in LUB computation
...
Closes #41114
Change-Id: Ifc7d3a35c4274bbb5651ced1c28c984e5c1a34ad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142985
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-04-16 06:52:30 +00:00
Johnni Winther
05103dfe5a
[cfe] Implement factor function
...
+ share test with analyzer
Change-Id: Ie19a8746e65986f46f75c1bdd6bac3e79aedb922
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142369
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-04-05 18:16:00 +00:00
Johnni Winther
a7f1a5e677
[cfe] Handle A extends FutureOr<B> <: FutureOr<B>
...
Change-Id: Ib5580328f006b033b2c004083b575a2cf5aed551
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141541
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-04-05 06:31:19 +00:00
Jens Johansen
5e3972ffd4
[CFE] Sort status files
...
Change-Id: Ia7e65057fc15ee36e6e9547906bcc9298fc3df93
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142141
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-04-03 06:24:26 +00:00
Jens Johansen
1a744e3341
[CFE] Synthesize enough of the sdk to be able to compile dart2js without an sdk without crashing
...
Change-Id: I0bf8fa796acebb0368669e38bf085bca55707034
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141892
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-04-02 11:18:04 +00:00
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
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
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
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
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
Régis Crelier
90484c2edb
[VM/nnbd] Check consistency of non-nullable compiled mode of loaded libraries.
...
Change-Id: If924e47fb782eb77ec0aa1cc003f0b6edb76411b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137847
Commit-Queue: Régis Crelier <regis@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2020-03-04 21:16:46 +00:00
Jens Johansen
a8c7757589
[CFE] Don't hard-code uncertain version numbers in messages or tests
...
Instead don't mention them (until they are certain), and make them
certain in tests, by setting a specific version (2.9999 in this case).
Change-Id: I1a375b4908c9d06f0241a6cda0746172d6b46c15
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138285
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-03-04 14:35:05 +00:00
Jens Johansen
f828f00b59
[parser] Error recovery of type parameters on void
...
Fixes #39958 .
Change-Id: I851bef762776f4b68f0fcb645d634019b8b32e81
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137925
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-03-04 14:02:35 +00:00
Dmitry Stefantsov
eca9aabedc
[cfe] Enable NNBD support in VM for NNBD unit tests
...
Change-Id: I8ab19dcf5e5b94b2192f13ecbce917dfa8c0fb40
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138281
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-03-04 12:53:05 +00:00
Johnni Winther
56763db04b
[cfe] Support NoneTarget in expectation testing
...
Change-Id: Iff7fbc581eaf875cf9a09f4b994dff7bcf70cd3f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137795
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-02-28 14:45:31 +00:00
Johnni Winther
51bc38f26c
[cfe] Fix uri in nnbd error
...
+ add support for configurations in messages tests
Closes #40789
Change-Id: I00b241df0e090a4736974e12598085d902ae9c77
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137560
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-02-27 11:38:07 +00:00
Jens Johansen
3660b9ecc7
[parser] New syntax for null aware index (2nd try)
...
This reverts commit bc4893a3b3 .
The previous attempt failed because when we check if something is a
conditional expression we used a rewriter that didn't actually rewrite.
This further down the line (still checking if we can parse the expression)
results in errors occurring (that wouldn't have occurred if the rewrite
had happened) and the conclusion was thus that it wasn't a conditional
expression and we parsed it as a null-aware index operator (which gave
errors because it wasn't).
This 2nd try solves it by having a rewriter that actually rewrites,
but then allows to undo the rewrites after we're done parsing.
Change-Id: Ide3c0d6a870d4dc18b6d9475b0227d93c733dc7f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136624
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-02-26 13:31:52 +00:00
Dmitry Stefantsov
5f41447fd3
[cfe] Reintroduce UnknownType to the subtype relation
...
Closes #40744
Bug: http://dartbug.com/40744
Change-Id: Iec3374cbcaac163f2aa599eb8f44fcd5b1cbd3c1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136975
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2020-02-25 14:20:51 +00:00
Johnni Winther
2ce1df7630
[cfe] Handle compilation from agnostic dill
...
Change-Id: Iecf2fda94ba1029931151b0d45d013da065859d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136965
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-02-25 12:10:20 +00:00
Johnni Winther
aa31a9162b
[cfe] Support constant evaluation in agnostic mode
...
Change-Id: Ia33ea19a091b1172eb9b4125f5f30a625886d34e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136632
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-02-24 13:29:05 +00:00
Johnni Winther
5c869545f2
[cfe] Add option for agnostic nnbd mode
...
Change-Id: Ie37b0fcd30985992ce5c4973bf1cce1ccba181a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136580
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-02-20 12:47:38 +00:00
Lasse R.H. Nielsen
3f28a3496c
Change SDK to use package_config v1.9 (unreleased).
...
Change-Id: I405ac5e59d0b330c6fc6c63fab48d2d303734e59
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136123
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-02-18 10:56:59 +00:00
Johnni Winther
a9485e8b14
[cfe] Encode getter/field invocation as .call on property get
...
Current semantics with respect to evaluation order is retained.
Change-Id: I6794c8a720237536696afab2fe056042f8464ec8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129702
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-02-17 13:52:45 +00:00
Dmitry Stefantsov
d22c695e89
[cfe] Fix isSubtypeOf for cases like FutureOr<FutureOr<X%>>
...
Closes #40600 .
Bug: http://dartbug.com/40600
Change-Id: Iff1fbc7f4f499bc2ba154d5fe43494dae0511f94
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135315
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-17 10:44:35 +00:00
Jens Johansen
81d4ac07d4
[CFE] Use package config v2
...
Change-Id: I32da9e8b2c1040db1521af4345f8e952c22bd30d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130864
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-12 10:07:25 +00:00
Dmitry Stefantsov
6a2c350a3e
[cfe] Fix isSubtypeOf for FutureOrs
...
Previously it was assumed both A <: B implies FutureOr<A> <: FutureOr<B>
and FutureOr<A> <: FutureOr<B> implies A <: B. This CL fixes the
implementation.
Closes #38905 .
Bug: http://dartbug.com/38905
Change-Id: I2c8d105659b310e3ab5db261ebdc81cbfa456ae1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135301
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2020-02-12 07:55:37 +00:00
Dmitry Stefantsov
535ee87c21
[kernel] Add NORM implementation
...
Change-Id: I6292a4247ed0c418f2d3d6fa841ed086894c31c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134335
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-07 15:00:24 +00:00