Kevin Millikin
5ade5079b1
[cfe] Remove the set-literals experimental flag
...
This flag has been enabled since Dart 2.2.0.
Change-Id: I18e77e1659d4be1aaf06e1c2a6262ae9e8c7f922
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104760
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2019-06-19 15:06:05 +00:00
Jens Johansen
b9e005f4b9
[fasta] messages_test automatically wraps examples in part
...
Update the message_test to automatically create an example that wrappes
all already defined examples in a part.
For instance, if the example is
main.dart: main() { print("hello world"); }
create an additional example that is basically
main_wrapped.dart: part 'main.dart';
main.dart: part of 'main_wrapped.dart'; main() { print("hello world"); }
(as well as some additional comments to push any actual positions in the
main file ot of scope for valid positions in the wrapper file.
This doesn't work for everything, e.g. if the original main imports or
exports anything, the new test will fail. That's okay, the status file
has been updated accordingly.
The reason for adding it is that we currently have some bugs that causes
us to crash in situations like this, i.e. situations where a message is
coming from a position in a part where the same position doesn't exist
in the non-part file.
The status file has been updated for that too, although not in sorted order.
Change-Id: Ib67f85fca5e81e0b9e93cf2d79ab50c38cae4936
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106082
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2019-06-18 10:01:58 +00:00
Vijay Menon
3b5a187726
[dartdevc] move ddc internal libraries under sdk
...
Note, this has the effect of including all DDC Dart sources with the
shipped SDK: we ship everything under sdk/lib.
This should enable https://github.com/dart-lang/build/issues/2262
Change-Id: If66bc7c620034e7f2acf7d2c3e9524a408417681
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104383
Commit-Queue: Vijay Menon <vsm@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-06-04 13:47:29 +00:00
Sam Rawlins
b22cd05c51
Reland fix for #28233 : add hint for missing returns to function expressions
...
The bulk of this change is actually correcting missing returns in the Dart SDK.
Bug: https://github.com/dart-lang/sdk/issues/28233
Change-Id: I52bcbc6c6f4a129d3fc22003f4448a7c3d4487ad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100301
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-05-22 18:12:30 +00:00
danrubel
c33f1a079e
revise scanner api so that error tokens are always prepended
...
This CL revises the scanner API so that tokens are always prepended
to the beginning of the token stream. This allows the parser handling
of error tokens to be simplified. Any clients using the scanner directly
rather than through the scanner API should call scannerRecovery
if the scanner has detected errors in the content.
Change-Id: I32510da10205bd964f80898a238489d1508733e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2019-05-17 20:59:51 +00:00
danrubel
7ec4621108
cleanup scanner configuration flags
...
* rename enableGtGtGt to enableTripleShift
* remove unused enableGtGtGtEq field
Change-Id: I0fa881c45619067ec3a292acbff984db555aa43e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101362
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2019-05-04 17:14:46 +00:00
Dan Rubel
4d7217016e
encapsulate scanner configuration in ScannerConfiguration
...
... and update TypeInfoTest to use ScannerConfiguration
Change-Id: I637d6fbeecd0b6d16c37e57cfd8ba9fc1fba494a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100791
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2019-04-30 14:00:28 +00:00
Dan Rubel
08832508ec
Forward "late" modifier to parser listeners
...
... and update parser tests to use preNonNullable feature set
to address comments in https://dart-review.googlesource.com/c/sdk/+/99963
Change-Id: I3a3293d65805807b7b95e887f829f3f0080ae3b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99964
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2019-04-22 17:20:10 +00:00
Dan Rubel
ca28e2c8ce
forward "required" modifier to parser listeners
...
... and have each report an error by default
Change-Id: If818a7bb207becbed95a97890632a1803917d285
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-04-17 21:19:51 +00:00
Dmitry Stefantsov
4a1b153fe1
[cfe] Enable type promotion in if-elements of literal collections
...
Closes #36396 .
Bug: http://dartbug.com/36396
Change-Id: I223267cdee1aca38d69354e4f97df7dcc76e9553
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98461
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2019-04-02 13:33:19 +00:00
Aske Simon Christensen
0b57b67ecb
[CFE] Move const set desugaring to constant evaluator.
...
To properly recognize control-flow constructs in sets, the constant
evaluator needs to get un-desugared set literals. This commit skips the
desugaring of const set literals if the constant evaluator is enabled
and adds a similar desugaring in the constant evaluator.
Doing the desugaring in the constant evaluator (which can be called
independently of Fasta) necessitates that dart:collection is indexed
in CoreTypes. We can remove this indexing again when the VM gains
native support for set constants.
Change-Id: Ibddafdcb182e4471012801745b51b529805b7b9f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98008
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-03-28 15:00:58 +00:00
Vyacheslav Egorov
c9ecdabe5d
Revert "Combine override checks and override-based inference in one phase"
...
This reverts commit 9db4119b67 .
Revert "Change default of 'keepFields' in constant transformation to true"
This reverts commit b1e14cbe5f .
Revert "[fasta] Don't create forwarding stub if there's already a member"
This reverts commit 51da94da76 .
These commits are reverted to unblock rolls into Flutter.
b1e14cbe5f is reverted because it contained
changes that prevented clean revert of the other CLs.
Change-Id: I8d3c00f0c1b146f4debe7f1a1a7de75be154e265
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97802
Commit-Queue: Alexander Aprelev <aam@google.com >
Commit-Queue: Vyacheslav Egorov <vegorov@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2019-03-25 19:40:26 +00:00
danrubel
466b6884dc
add scanner/parser support for >>>=
...
Change-Id: I8bbf19e70f35aba600cb768fc3c7537f2aa604e9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97602
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-03-22 23:38:51 +00:00
Peter von der Ahé
9db4119b67
Combine override checks and override-based inference in one phase
...
Change-Id: I2760f72f4eaa44bd192747179e843f017db30874
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97301
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-03-22 08:59:48 +00:00
danrubel
266d823f5c
remove unused scanner error list
...
Change-Id: I3dd5d66dcf05ae2bf9f2087724801cae4f3b6036
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97542
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2019-03-21 22:33:02 +00:00
Jens Johansen
e9e0daee5c
Add importUri and fileUri to Source.
...
This will enable the VM to map URIs to package-URIs to solve problems
such as https://github.com/dart-lang/sdk/issues/35859
Change-Id: I15520325a5b81a99a7e3f56c2e35fd775d9da946
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96905
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-03-20 08:44:33 +00:00
Kevin Millikin
4daa9b94ea
[cfe] Compile if elements in lists and sets
...
If elements are compiled to if statements. The type inference rules
including insertion of runtime checks are not yet implemented.
Change-Id: Iaa7ab709a7acacf952887b17ac1081a9fecd7cef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97200
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-03-20 08:43:03 +00:00
Peter von der Ahé
479483ed13
Compute isGenericCovariantImpl in outline phase
...
Change-Id: I7ef6a39f66383a53c090cf5c47861cba84903271
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97084
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2019-03-20 06:52:13 +00:00
danrubel
b2cb604b9d
improve literal list/map/set control flow recovery
...
* new ExpectedElseOrComma parser error code
* update recovery tests to enable control flow recovery
* rework test to call parser.parseLiteralListSuffix rather than parser.parseLiteralListSuffix
Fix https://github.com/dart-lang/sdk/issues/36141
Change-Id: I5bdee19eb3828de8fbdc514a3820afaa1309df99
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95980
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2019-03-08 17:31:33 +00:00
Aske Simon Christensen
822ebdd1e0
[fasta] Wrap non-const variable accesses inside const expressions.
...
Change-Id: I8761031da2419a47a947a02721d4ffd86ac7c531
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/93504
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-03-05 09:23:57 +00:00
Jens Johansen
2695cdfbb1
Change incremental compiler to take entry points (plural)
...
Change-Id: I03203cdeb11ab7bc6116779642909ebc7220c619
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95122
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-03-05 07:39:31 +00:00
Dmitry Stefantsov
e4aa4325b7
[fasta] Enable spread collections in unit tests
...
Change-Id: Id417704bdd15f8244f16fd61715f43910f678f7f
Reviewed-on: https://dart-review.googlesource.com/c/94541
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2019-03-01 15:17:13 +00:00
Peter von der Ahé
ba31e448ca
Finish implementing IsIntersectionSubtypeOf
...
Change-Id: I1b2958269545a5e562b664d51d945d328f46d0d5
Reviewed-on: https://dart-review.googlesource.com/c/94299
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-02-28 09:08:56 +00:00
Peter von der Ahé
155ac6afbd
Create subtype benchmarks based on dart2js and a large application
...
The large application is from an internal customer.
Change-Id: I670180a85ca402a34f99493d05de0124f8f89701
Reviewed-on: https://dart-review.googlesource.com/c/94296
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-02-26 14:07:42 +00:00
Peter von der Ahé
b446d0a226
BenchMaker: a benchmark that reads the output from BenchMaker
...
Change-Id: I671d949d8a8c6f9c17ef022fd389dcde1769bf6f
Reviewed-on: https://dart-review.googlesource.com/c/94289
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-02-26 11:59:43 +00:00
Peter von der Ahé
561f7905d6
A type variable can be a subtype of another
...
Change-Id: I2f4df4126f5d788b2993689e623c9b69b4a0c251
Reviewed-on: https://dart-review.googlesource.com/c/94201
Reviewed-by: Jens Johansen <jensj@google.com >
2019-02-26 09:30:32 +00:00
Peter von der Ahé
0f9a5198bd
Finish implementing IsFutureOrSubtypeOf
...
Change-Id: I0263be3d52cf3be1b3ba1f34bed9180fb0125863
Reviewed-on: https://dart-review.googlesource.com/c/93986
Reviewed-by: Jens Johansen <jensj@google.com >
2019-02-26 09:30:32 +00:00
Peter von der Ahé
65698e2c2f
Support mixin applications in type parser
...
Change-Id: I558c7c6d69b0ac026abf32775bdf7c25aae401be
Reviewed-on: https://dart-review.googlesource.com/c/94205
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2019-02-25 10:26:54 +00:00
Peter von der Ahé
e395cdb1ad
Support mutually recursive types
...
Change-Id: Ib294756657325eab348f5dba451d369f21d5a516
Reviewed-on: https://dart-review.googlesource.com/c/94204
Reviewed-by: Jens Johansen <jensj@google.com >
2019-02-25 10:26:54 +00:00
Peter von der Ahé
393c1df600
Improve performance of scope creation in type parser
...
Change-Id: I4e432d3eacf2bceaf1cbf72c08a58516687128cf
Reviewed-on: https://dart-review.googlesource.com/c/94203
Reviewed-by: Jens Johansen <jensj@google.com >
2019-02-25 10:26:54 +00:00
Dan Rubel
272f58e543
Revise parser to generate handleLiteralSetOrMap
...
... and no longer generate handleLiteralSet or handleLiteralMap.
In addition, a new hasSetEntry parameter has been added to the
handleLiteralSetOrMap event generated by the parser to support
existing behavior. Once all listeners have implemented
unified collections and that feature is enabled by default,
the hasSetEntry parameter can be removed.
This is the third of several CLs updating the parser and its listeners
to conform to the unified collection spec:
https://github.com/dart-lang/language/pull/200
Change-Id: Ia305eab1f720658f357ac4102b0b0c8128d16997
Reviewed-on: https://dart-review.googlesource.com/c/93963
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-02-22 19:58:38 +00:00
Peter von der Ahé
7f2a83ee07
BenchMaker: collect used type parameters
...
Change-Id: If6c18e66eded0ebe73575cca28dd77e5ae374890
Reviewed-on: https://dart-review.googlesource.com/c/93950
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2019-02-22 13:01:09 +00:00
Jens Johansen
e4d1b28698
Incremental compiler should respect omitPlatform setting
...
Change-Id: Id842db646ba95945c8fadce0626cb8cbee2812ad
Reviewed-on: https://dart-review.googlesource.com/c/93433
Reviewed-by: Peter von der Ahé <ahe@google.com >
Reviewed-by: Alexander Aprelev <aam@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2019-02-22 11:44:45 +00:00
Peter von der Ahé
e2b7f48333
Implement ClassHierarchyBuilder.getLegacyLeastUpperBound
...
Change-Id: Id946a8e49ef414e5d2f6439d15e6cb134c9ccb83
Reviewed-on: https://dart-review.googlesource.com/c/93425
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-02-19 11:24:05 +00:00
Peter von der Ahé
d19d50f45f
Support async in LUB test
...
Change-Id: I2b806125bd566809a7ca28a1de1bc47d91f40426
Reviewed-on: https://dart-review.googlesource.com/c/93413
Reviewed-by: Jens Johansen <jensj@google.com >
2019-02-19 11:24:05 +00:00
Peter von der Ahé
6a65f84a63
Implement longest path to Object
...
Change-Id: Ibf882536dde5a218f5fda085359d419e3ee0d831
Reviewed-on: https://dart-review.googlesource.com/c/93410
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-02-19 11:24:05 +00:00
Jens Johansen
0720888236
Temporarily ignore context of errors in expression_test
...
To get the same context on errors for expressions compiled against
something we just compiled and something we've loaded from dill we need
the dill to contain offsets on TypeParameters.
We cannot currently change the binary format to include it, so for now
ignore the context in expression_test.
Change-Id: Ifbcc4352650fc56974bf5a78d9eb615ecec34e39
Reviewed-on: https://dart-review.googlesource.com/c/92743
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-02-19 10:18:29 +00:00
Jens Johansen
6ccdffdb35
Test for expression compilation, type variables and initialize from dill
...
Prior to f4379435dd ,
using a type variable in an expression used for
expression compilation, where the type variable came from a class
that was loaded from dill would fail because type variables wasn't set
up so the type variable didn't exist in scope.
This adds a test for it - the actual fix was landed in
f4379435dd .
Change-Id: Icccf796b96853ece5ea96d4f29d76bb92b59fc83
Reviewed-on: https://dart-review.googlesource.com/c/92564
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-02-19 10:11:24 +00:00
Peter von der Ahé
5622925369
Test of class hierachy from dill file
...
Change-Id: Ib6a8916fd096e4a9a417dbef8a3519ffe1a595aa
Reviewed-on: https://dart-review.googlesource.com/c/93408
Reviewed-by: Jens Johansen <jensj@google.com >
2019-02-15 14:18:29 +00:00
Peter von der Ahé
e9f239777f
Split test so Kernel ClassHierarchy isn't required
...
Change-Id: I61d860ac4b11b056545dc2ec4f5fe80bc055e49d
Reviewed-on: https://dart-review.googlesource.com/c/93166
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-02-14 13:38:38 +00:00
Peter von der Ahé
25ee9b9d47
Rename test
...
Change-Id: Iae6e583120cb16d9ceb624554037d31ddb13ac0f
Reviewed-on: https://dart-review.googlesource.com/c/93163
Reviewed-by: Jens Johansen <jensj@google.com >
2019-02-14 13:38:38 +00:00
Peter von der Ahé
7ff5be0ceb
Convert LUB test to use type parser
...
Change-Id: I4833793fb12bb2ca5c0b0118bfc3bf525573f66a
Reviewed-on: https://dart-review.googlesource.com/c/93031
Reviewed-by: Jens Johansen <jensj@google.com >
2019-02-14 09:02:20 +00:00
Peter von der Ahé
cf5a7cf36a
Simplify class_hierarchy_test: Move tests of getLegacyLeastUpperBound to own file
...
Change-Id: Iff64676644f17c32dea2b01e0c25e92af1f63774
Reviewed-on: https://dart-review.googlesource.com/c/93024
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2019-02-13 14:35:15 +00:00
Peter von der Ahé
857d834e64
Remove obsolete expectMoreSpecific parameter
...
Change-Id: I6d5ff79ba0eec022812da14201fb30ae2625d355
Reviewed-on: https://dart-review.googlesource.com/c/92126
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-02-13 10:51:55 +00:00
Peter von der Ahé
0e4f917759
Implement subtyping of optional function parameters
...
Change-Id: I25e7fecf8c3080c1558f6a2d499b9ca618b42824
Reviewed-on: https://dart-review.googlesource.com/c/92122
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-02-07 14:10:01 +00:00
Peter von der Ahé
86f5aed890
Finish implementing IsTypedefSubtypeOf
...
Change-Id: Ib62f2100a85e10e4ef1eed3ed12144a90bc5e714
Reviewed-on: https://dart-review.googlesource.com/c/92043
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-02-07 14:10:01 +00:00
Peter von der Ahé
8d5b5bba41
Allow for non-function types in alias builders.
...
Change-Id: I735ee2df97a21a5cef38d18bdb35f83117749be6
Reviewed-on: https://dart-review.googlesource.com/c/92042
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-02-05 10:05:32 +00:00
Peter von der Ahé
f45d103d67
Finish implementing IsTypeParameterSubtypeOf
...
Change-Id: I5e37f87946423b4c1373fb49b2ef482172ce2c87
Reviewed-on: https://dart-review.googlesource.com/c/91821
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-02-05 10:05:32 +00:00
Peter von der Ahé
967b5fbac3
Finish implementing IsFunctionSubtypeOf
...
Change-Id: I5bd0aa4cbf2e5e16771bbfe8bd2d4ee3f8de2862
Reviewed-on: https://dart-review.googlesource.com/c/91820
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-02-01 13:07:57 +00:00
Peter von der Ahé
0d7bdd734a
Ensure that top types are equivalent.
...
Change-Id: I7555a2b505aa750bff6f0050279fbe52608ed760
Reviewed-on: https://dart-review.googlesource.com/c/91800
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-02-01 13:07:57 +00:00