Commit Graph

832 Commits

Author SHA1 Message Date
Sigmund Cherem f1663c8241 Fix status of dart2js strong tests
TBR=floitsch@google.com

Change-Id: Ia84faf0b0666d8a8bb0c44ecbf09bbcd6f417e4f
Reviewed-on: https://dart-review.googlesource.com/38344
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-02-02 22:18:59 +00:00
Sigmund Cherem f541f060ee [fe] deferred access checks for several access patterns of classes.
This adds checks for allocations and type values, and provides a compile
time error for type declarations, is-checks, and as-casts.

Change-Id: I3bfed41b0dd45abeb02158f0537102c779511998
Reviewed-on: https://dart-review.googlesource.com/36383
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-02-02 20:44:16 +00:00
Jenny Messerly 85cfbebd76 Fix constKeyword usage in DDC in preparation for implicit new/const
Change-Id: Iad3d38449dbe5bbb71d470cf085c2c071432abf5
Reviewed-on: https://dart-review.googlesource.com/38147
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-02-02 20:33:46 +00:00
Florian Loitsch 3b8e4d41a7 Reapply "Run async functions immediately."
Which was reverted in commit 032be73dbe.
Originally commited in commit 67bac0bce6.
Original review URL: https://dart-review.googlesource.com/5263

Change-Id: Ic7333c29e502a3924dc6aade8ffa46fc8aa5b04a
Reviewed-on: https://dart-review.googlesource.com/38120
Commit-Queue: Florian Loitsch <floitsch@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-02-02 15:50:16 +00:00
Florian Loitsch 7bd76a466a Update status files.
Change-Id: I83ee3e48b8923aa5ae9497e8d1042ada7f3678c8
Reviewed-on: https://dart-review.googlesource.com/38240
Reviewed-by: Florian Loitsch <floitsch@google.com>
2018-02-02 14:42:28 +00:00
Florian Loitsch d858eea600 Update status files.
Change-Id: I85e9f25c5d87b7cf87ed848f4a71919ab07f5790
Reviewed-on: https://dart-review.googlesource.com/37762
Reviewed-by: Florian Loitsch <floitsch@google.com>
Commit-Queue: Florian Loitsch <floitsch@google.com>
2018-02-02 11:55:02 +00:00
Florian Loitsch 5ec65552d5 Update status files.
Change-Id: I3c569645ebac013ac2d72b9d9da0eeb6f2609fcd
Reviewed-on: https://dart-review.googlesource.com/38200
Reviewed-by: Florian Loitsch <floitsch@google.com>
Commit-Queue: Florian Loitsch <floitsch@google.com>
2018-02-02 09:46:12 +00:00
Sigmund Cherem 5428a12b84 Ensure that env includes the actual mixin application fields and procedures.
From the docs of mixedInClass and mixin: the former is the direct thing that is
mixed in, but if it is a named mixin application it may not contain the actual
fields and procedures, instead the `.mixin` class does.

Change-Id: I049ced771925431d613b0b661154c1761fbe0a51
Reviewed-on: https://dart-review.googlesource.com/38161
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Emily Fortuna <efortuna@google.com>
2018-02-02 07:10:30 +00:00
Florian Loitsch 032be73dbe Revert "Run async functions immediately."
This reverts commit 67bac0bce6.

Reason for revert: broke the bot.

Original change's description:
> Run async functions immediately.
> 
> Migrated from https://codereview.chromium.org/2478703003/
> 
> Change-Id: I1d678c01ba5876490b12c676c500171328361d31
> Reviewed-on: https://dart-review.googlesource.com/5263
> Commit-Queue: Florian Loitsch <floitsch@google.com>
> Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
> Reviewed-by: Vijay Menon <vsm@google.com>
> Reviewed-by: William Hesse <whesse@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>
> Reviewed-by: Régis Crelier <regis@google.com>

TBR=whesse@google.com,rnystrom@google.com,vegorov@google.com,kustermann@google.com,zra@google.com,floitsch@google.com,jmesserly@google.com,vsm@google.com,regis@google.com,sigmund@google.com

Change-Id: I20c948057423c3fa5aa8c72843f8f2a17e086ad5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/37981
Reviewed-by: Florian Loitsch <floitsch@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-02-01 15:01:21 +00:00
Aske Simon Christensen caabeaa618 Add type variables to scope before their bounds are resolved.
Closes https://github.com/dart-lang/sdk/issues/31766

Change-Id: I9be63fa04a083a5a7aaedb21829c77287d61b615
Reviewed-on: https://dart-review.googlesource.com/37742
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2018-02-01 14:49:47 +00:00
Florian Loitsch 67bac0bce6 Run async functions immediately.
Migrated from https://codereview.chromium.org/2478703003/

Change-Id: I1d678c01ba5876490b12c676c500171328361d31
Reviewed-on: https://dart-review.googlesource.com/5263
Commit-Queue: Florian Loitsch <floitsch@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2018-02-01 14:08:57 +00:00
William Hesse a42135073d Update status for generic_test on dart2js and analyzer
TBR=jmesserly@google.com

Change-Id: I81879562e200f882ad4d2057a27a7336195e6a39
Reviewed-on: https://dart-review.googlesource.com/37663
Reviewed-by: William Hesse <whesse@google.com>
2018-02-01 10:53:02 +00:00
Erik Corry 209959fe97 Fix status files to refer to correct deferred loading bug
R=kmillikin@google.com

Bug: 30273
Change-Id: Ib6e0ecf0d68d575680cb45a9208ea93cd94551b8
Reviewed-on: https://dart-review.googlesource.com/37823
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-02-01 09:54:35 +00:00
Jenny Messerly 8489a843db fix generic_test and generics_test for Dart 2
Change-Id: I831b5b0b6ade4cb099447e6a09058eb5c6745afa
Reviewed-on: https://dart-review.googlesource.com/36562
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-02-01 02:15:25 +00:00
Jenny Messerly 68ea5433fd implement assert initializers for DDC, fixes #27809
also fixes #31058, DDC failed to execute all field initializers
(already fixed this in DDK when porting code_generator).

also fixes assertion_initializer_test, it was not strong mode clean, so
it was not giving any meaningful results for runtime behavior.

Change-Id: I290b266ad77ed92851cc2d0617690c6c021182a3
Reviewed-on: https://dart-review.googlesource.com/37866
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-02-01 01:12:17 +00:00
Jenny Messerly 7d60caba63 fix #31973, dynamic calls to super getters that return Function
Change-Id: I6e87d5a501fcd004b43d570ce8a970ae9b8a5f78
Reviewed-on: https://dart-review.googlesource.com/37900
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-02-01 00:51:06 +00:00
Jenny Messerly 81304281c8 fix dart2js minified status for Dart 2 function type tests
Since dart2js doesn't implement Dart 2 yet, the RuntimeError status must
be copied for each of the many dart2js configurations.

Change-Id: I7814546ce808922bf62c12d6c5443eee8600a5c7
Reviewed-on: https://dart-review.googlesource.com/37940
Reviewed-by: Jenny Messerly <jmesserly@google.com>
2018-02-01 00:44:55 +00:00
Jenny Messerly 5013b28bbe fix #31999, remove fuzzy arrow runtime support from DDC
Also updates tests that relied on fuzzy arrows.

Change-Id: Ia8df1d8d421e43dfada589223d5e46182b92fa67
Reviewed-on: https://dart-review.googlesource.com/37425
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-01-31 22:20:38 +00:00
Brian Wilkerson 4cad8c202d Attempt to fix bot status
Change-Id: Ib934765771306d57b218d3691c3bba249f1d90ef
Reviewed-on: https://dart-review.googlesource.com/37863
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-01-31 19:51:55 +00:00
Brian Wilkerson 1d9ac49dd9 Reland "Add an error when an integer literal is out of bounds"
Change-Id: Id6ef76b47bedabc96fc372f6aea455975dfcc213
Reviewed-on: https://dart-review.googlesource.com/37840
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-01-31 16:50:55 +00:00
Erik Corry 4089f9f199 Annotate even more failing abstract class tests with issue number
R=ahe@google.com

Bug: 32014
Change-Id: I66dd70498ac1bac854c2045cf9df9af56ee80746
TBR=ahe@google.com
Reviewed-on: https://dart-review.googlesource.com/37801
Reviewed-by: Erik Corry <erikcorry@google.com>
2018-01-31 13:19:29 +00:00
Erik Corry a57f95452f Annotate more failing abstract class tests with issue number
R=ahe@google.com

Bug: 32014
Change-Id: Ib2cf0b8dcd65f7115e674676c0682efc78f8d461
TBR: ahe@google.com
Reviewed-on: https://dart-review.googlesource.com/37820
Reviewed-by: Erik Corry <erikcorry@google.com>
2018-01-31 13:12:00 +00:00
Erik Corry 72b36a7927 Annotate failing abstract class tests with issue number
R=ahe@google.com

Bug: 32013
Change-Id: I1b56f8e3239ec8d5079a02031a94a4a2f93aa552
TBR=ahe@google.com
Reviewed-on: https://dart-review.googlesource.com/37800
Reviewed-by: Erik Corry <erikcorry@google.com>
2018-01-31 12:59:02 +00:00
Bob Nystrom c303d75aac Fix dart2js status.
Change-Id: I4edc8e261b48c832d22e7ea55b0a8c707fb5941a
Reviewed-on: https://dart-review.googlesource.com/37720
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2018-01-31 01:22:27 +00:00
Régis Crelier ed1d8bd475 [VM parser] Complete support for generalized void (fixes #30516).
'void' is now allowed as type annotation for locals, fields, and formal
parameters, in addition to being previously allowed as type argument.
Update status files.

Change-Id: I6459f56824dc0a695615d8dc87c9a8a1f9be29ef
Reviewed-on: https://dart-review.googlesource.com/37651
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2018-01-31 00:56:41 +00:00
Bob Nystrom 85faacc23c Fix the const assertion test.
Dart 2 has no notion of "checked mode", so a failed assertion in a
const constructor should always be a compile error.

Change-Id: I02227c03613346918de1e3a7f7c70d209a940b90
Reviewed-on: https://dart-review.googlesource.com/37647
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-01-30 23:26:01 +00:00
Jenny Messerly 16f8bbe68b fix #32001, DDC mixins with getter/setters partially from superclass
Whenever we install a getter or setter, we need to install a corresponding
one that calls `super`, because JS treats getters/setters as pairs for the
purposes of lookup. Normally we generate the paired super accessor, but for
mixins we cannot, because we don't know what the `super` will be at compile
time. So the fix is for `mixinMembers` to handle it at run time.

Change-Id: I2b14ea437720bd26f2879c7daac5b3f796d48038
Reviewed-on: https://dart-review.googlesource.com/37645
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-01-30 21:44:50 +00:00
Leaf Petersen 991753313f Remove deep future flattening from analyzer and DDC
Change-Id: Ic48f29adec3a46744b259ba5b2b8ad7d97caa6c2
Reviewed-on: https://dart-review.googlesource.com/37424
Reviewed-by: Jenny Messerly <jmesserly@google.com>
2018-01-30 18:11:11 +00:00
Brian Wilkerson d0f105de1a Reland "Produce an error if there would be an exception thrown by an assert in an initializer list"
Change-Id: Id79a8cf949a08d56a59268b687f299f3482a1b88
Reviewed-on: https://dart-review.googlesource.com/37540
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-01-30 14:40:19 +00:00
Jens Johansen 23361e89bd [fasta] Fix crash with "unsupported operation 'name'"
Fixes #31170.

Bug: 31170
Change-Id: I926384a3dff21255439070065ca4083c22e8fc4c
Reviewed-on: https://dart-review.googlesource.com/36460
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-01-30 13:08:09 +00:00
Jens Johansen 5c74e0e16f Fix wrong assert in InvocationMirror_unpackTypeArguments
There's an assert in InvocationMirror_unpackTypeArguments checking that
the length of the incomming TypeArguments is positive (len > 0).
That's not a valid assert.
When creating TypeArguments it will be TypeArguments::null() if it is
empty or contains only dynamic.
TypeArguments::null() will answer 0 as length which is thus perfectly
valid.

This CL fixes the wrong assert (technically it returns before the assert,
but still).

Fixes #31381.

Change-Id: I7a253418b69751b13e98fcf2def2b23b32f96142
Reviewed-on: https://dart-review.googlesource.com/37480
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-01-30 12:25:49 +00:00
Stephen Adams 6ca85ea808 Fix language_2/list_is_test
Test was not properly migrated to Dart 2 subtyping rules.

Change-Id: If20c1fe3cc73cbfee5a6a7d55ed833793add1a5d
Reviewed-on: https://dart-review.googlesource.com/37142
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-01-27 21:01:50 +00:00
Mike Fairhurst cb7e85a26d Support void as a Top type, with as few other changes as possible.
Change-Id: Ife337e28fa86f9b98cdabf48a01a4e2f608aa4b8
Reviewed-on: https://dart-review.googlesource.com/35520
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-01-26 22:42:08 +00:00
Brian Wilkerson 7a36d39962 Revert "Produce an error if there would be an exception thrown by an assert in an initializer list" (TBR)
Change-Id: Iece7d75e9245cdb9d0a72ac30f6b1031a76c0755
Reviewed-on: https://dart-review.googlesource.com/37080
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-01-26 21:54:30 +00:00
Brian Wilkerson fb739fffe6 Produce an error if there would be an exception thrown by an assert in an initializer list (2)
Change-Id: I2f268a23c3d84dfbe4bba67730e226f5b5603570
Reviewed-on: https://dart-review.googlesource.com/32740
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-01-26 20:15:01 +00:00
Jens Johansen d944e19da7 [kernel] Update status files
Change-Id: I50e1f25a27e4e406f0e2b2b66c8607190227ae45
Reviewed-on: https://dart-review.googlesource.com/36920
Reviewed-by: Jens Johansen <jensj@google.com>
2018-01-26 08:24:58 +00:00
Paul Berry d68fbb7454 Add new warning StrongModeCode.TOP_LEVEL_INSTANCE_METHOD.
This warning fires if a top level initializer depends on the type of a
method whose type is subject to type inference.  This warning is
needed because the analyzer implementation of top level type inference
doesn't guarantee that the method type will be inferred prior to the
initializer, so it's possible that type inference will produce an
incorrect result.  See #31925 for more details.

Change-Id: Iec048d2638877c16ae11a87eae0382b7352f726c
Reviewed-on: https://dart-review.googlesource.com/36841
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-01-26 01:10:00 +00:00
Lasse R.H. Nielsen d2aae0a45f Fix tests in language_2 to test strong mode semantics.
Change-Id: I74dced985475fe48c900bfd6b6cece85f64b54cd
Reviewed-on: https://dart-review.googlesource.com/36581
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2018-01-25 10:57:42 +00:00
Jenny Messerly 46dc1afd9f fix #31897 - wrong number of type arguments should call noSuchMethod
Change-Id: I2a5835bc369c9c4e933a1d53b9ac73f8291264b9
Reviewed-on: https://dart-review.googlesource.com/36488
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-01-24 20:51:42 +00:00
Jenny Messerly 2a0f060bcb fix printing of generic function bounds
This changes DDC/K to handle `dynamic` and `Object` equivalently at
runtime for the purposes of printing `extends` bounds of generic
function types.

Technically speaking DDK is the correct one (`<T>` is short for
`<T extends Object>` in the spec, not `<T extends dynamic>`).
In contrast DDC/Analyzer treat the absence of a bound as `dynamic`.
At runtime this distinction will disappear in Dart 2, and we may
stop tracking it completely, so this change is a step towards that.

Change-Id: Ie1ead2ad55b72718485fe0817456981873a6d04f
Reviewed-on: https://dart-review.googlesource.com/36563
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-01-24 20:19:08 +00:00
Jenny Messerly 0073457000 fix first_class_types_test to work for Dart 2
Change-Id: I9f6665e1afd4d783158b170d62fcb2636ea3a081
Reviewed-on: https://dart-review.googlesource.com/36560
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-01-24 19:33:00 +00:00
Paul Berry 314b89e11d Update the analyzer to require noSuchMethod overrides to be concrete.
See 38dcb10543 for details.

Change-Id: I00608f7106e1b37cde81b8145d8d748f8cd97804
Reviewed-on: https://dart-review.googlesource.com/36520
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-01-24 13:55:18 +00:00
Dan Rubel d5bd271430 Refactor modifiers in parseFields
This is the next step towards removing findMemberName
and improving class member and top level declaration
recovery.

* Remove modifiers from findMemberName results
* Inline modifier parsing in parseFields
* move non modifier recovery out of ModifierRecoveryContext

Change-Id: I9cb4abd7632021720ba184440f0b1af382e72794
Reviewed-on: https://dart-review.googlesource.com/36500
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-01-24 12:18:28 +00:00
Jenny Messerly 4532c99730 fix covariance checks for DDK, and setters in DDC/K
Change-Id: I388f58eb918110494d70eeb34f1dae68184195ee
Reviewed-on: https://dart-review.googlesource.com/35840
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-01-23 23:48:06 +00:00
Jenny Messerly 5de9c20fb0 fix #31434 - recursive generic classes
Change-Id: I5a30de9e7d48eccacddee621c94088dbd65cc77b
Reviewed-on: https://dart-review.googlesource.com/36381
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-01-23 22:11:27 +00:00
Sigmund Cherem 33ea67b3a3 One more round of status fixes
TBR=johnniwinther@google.com

Change-Id: I44fd9160879311e845ad1d5e068506662b420e75
Reviewed-on: https://dart-review.googlesource.com/36491
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-01-23 20:30:14 +00:00
Jenny Messerly 5d02dd5929 fix mixins in DDK
This brings back the mixin unrolling code used by DDC's Analyzer backend,
because it handles features kernel's unrolling does not:
- constructor forwarding for all constructors
- mixin field initializers
- mixin constructor calls
- mixin aliases (mixin applications that are themselves valid mixins)
- covariance check stubs for mixin aliases
- mixable classes that have an unnamed factory constructor but no generative
constructors

Change-Id: Ibb49ec45d0feff0bd0a2a0ba18a346bda75db882
Reviewed-on: https://dart-review.googlesource.com/35810
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-01-23 19:36:46 +00:00
Sigmund Cherem 266e283072 One more set of fixes
TBR=johnniwinther@google.com

Change-Id: Ifc6d225a4d86821e4a90d41d3ae5d8e12e1ff616
Reviewed-on: https://dart-review.googlesource.com/36486
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-01-23 19:19:15 +00:00
Sigmund Cherem 7f72ad6c18 Fix again
We are still running _2 suites on the legacy compiler, so I incorrectly removed
entries in the previous "fix".

TBR=johnniwinther@google.com

Change-Id: Ie251393e53d35c2eb2f7a5bd301e3cb837fce8a5
Reviewed-on: https://dart-review.googlesource.com/36482
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-01-23 18:32:18 +00:00
Sigmund Cherem 729ebbe043 Fix status files some more
The _2.status files are not normalized properly, so our script missed this.

We need to follow up with some additional fixes to the .status files and to add
to our script a way to detect these issues (typically whenever we have a "Pass"
and can't find the line that said otherwise).

TBR=johnniwinther@google.com

Change-Id: Icd4a6c003df86c0bf5c0894e971be13bc927f4ba
Reviewed-on: https://dart-review.googlesource.com/36480
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-01-23 17:06:36 +00:00