Commit graph

21188 commits

Author SHA1 Message Date
Stephen Adams 29b893b124 [dart2js] Evaluate map literal key before value
Change-Id: I41c0c004ddd3f04c0eb48520df7f92ed86d7c8b7
Reviewed-on: https://dart-review.googlesource.com/67206
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-07-27 21:55:40 +00:00
Brian Wilkerson 66828182f1 Update server integration tests
Change-Id: I8cc3e4b1d8bf963a39e086ea29be6c234715da63
Reviewed-on: https://dart-review.googlesource.com/67204
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-27 21:10:19 +00:00
Brian Wilkerson b0636e1b09 Improve an error message
Change-Id: I95cbc725c019dc1efce8d56940d1db167c343138
Reviewed-on: https://dart-review.googlesource.com/67202
Reviewed-by: Devon Carew <devoncarew@google.com>
2018-07-27 21:01:47 +00:00
danrubel 238bffec02 Report error on illegal initializer
Change-Id: If1485b20c8be2370100709baeb3b735a723fc265
Reviewed-on: https://dart-review.googlesource.com/67180
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-27 20:35:19 +00:00
Brian Wilkerson 56bd1fc6f7 Remove two more deprecated_ methods from BodyBuilder
Change-Id: I89597436a45c937a735e0a511972237a1cfc2378
Reviewed-on: https://dart-review.googlesource.com/67201
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-27 19:33:00 +00:00
Konstantin Shcheglov 82947cccc9 Store named types resolution during outline building.
It fixes 8 tests, and opens a way to fix more.

It also "breaks" 4 tests, but only because we now check more rigorously.
Specifically - tests that check wrong number of type arguments and cycles.
This is something I will improve later.


Change-Id: I4a3bcd4ff56831f597fd02224bda032b7a0fadb9
Reviewed-on: https://dart-review.googlesource.com/66920
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-07-27 18:43:20 +00:00
Paul Berry 31af5ce13c Revert CLs reworking generator class handling of non-lvalues.
This arc of work is breaking the Flutter roll--see
https://github.com/dart-lang/sdk/issues/33993.

This reverts the following commits:

- 55c0857037 (Create a common generator class to handle non-lvalues.)

- c9b197017c (Rename "assignment_of" -> "assignment_to".)

- 32fd7b15e4 (Remove special case for assignment to parenthesized
  expressions.)

- 432e59e589 (Fix error reporting if a for-in statement attempts to
  assign to a prefix.)

- 232bed3d11 (Change UnresolvedNameGenerator to use
  NonLvalueGenerator.)

- 0b778d0697 (Change IncompleteErrorGenerator to make use of
  NonLValueGenerator.)

- 1a5f94a0a4 (Fix analyzer-CFE integration of illegal references to
  instance members from static contexts.)

Change-Id: Id637e5ec60150a73031c05d7bb4c6effefd2aa8a
Reviewed-on: https://dart-review.googlesource.com/67091
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-07-27 17:18:28 +00:00
Brian Wilkerson a0b058b398 Remove BodyBuilder.deprecated_addCompileTimeError
Change-Id: I7dfc8824fcff244cbc4b845420ca57e46c074940
Reviewed-on: https://dart-review.googlesource.com/67200
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-27 17:18:10 +00:00
Alexander Markov fdf8e6f2bf [vm/kernel/bytecode] Omit 'is' checks of top types in bytecode generator
Assertion in Instance::IsInstanceOf() fails if trivial type tests like
'is dynamic' are not elided.

Change-Id: Ifaa654a613ccf2d7b56732e87a69b551ef643a92
Reviewed-on: https://dart-review.googlesource.com/67085
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-07-27 16:02:47 +00:00
danrubel 0a66473c96 Report error on non-sync factory
Change-Id: I579c8908ed29fa1ae0ac63629d5bf733777296ab
Reviewed-on: https://dart-review.googlesource.com/67000
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-27 14:50:57 +00:00
Brian Wilkerson c385f4f237 Strong mode cleanup related to TypeSystem
Change-Id: I1f3a6642a5a8f5dc43a8b3d1a44c4345258ae54d
Reviewed-on: https://dart-review.googlesource.com/67089
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-27 13:51:35 +00:00
Aske Simon Christensen 911672e204 Avoid crash on duplicated field with initializer
Fixes https://github.com/dart-lang/sdk/issues/31191

Change-Id: I14995dfff04f4ea08014ab20716cc208012b3c82
Reviewed-on: https://dart-review.googlesource.com/66568
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2018-07-27 11:02:05 +00:00
Stephen Adams 881894e13d Document describing interceptor optimizations
Change-Id: I02a0413989b5950e21cc6df401ad0f6295614c8d
Reviewed-on: https://dart-review.googlesource.com/62962
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-07-27 03:29:36 +00:00
Sigmund Cherem 55726c8b3e Do not emit minified names in the deferred source-map files
Change-Id: Ie3ed131248cc5677c3f493fbe7dc2bba0bb5cec3
Reviewed-on: https://dart-review.googlesource.com/67082
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-07-27 02:23:38 +00:00
Konstantin Shcheglov 72fe0ba7c5 Parse getter parameters, and resolve them.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: If42b75ffb6774d1a14fc56d408be4d873aa22c61
Reviewed-on: https://dart-review.googlesource.com/67080
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-07-27 01:08:06 +00:00
Jenny Messerly 7651177cf1 fix #33684, "not a function" JS TypeError usually means nSM
Improves the error message when calling a null function, by suggesting
to the user that null may be the problem. Also prefixes the errors with
'NoSuchMethodError' to match Dart user expectations (the Dart type that
users can catch is indeed NoSuchMethodError).

Change-Id: Ia9bca5bc2a3e33e83f0c3728b48f7b17f98dcc6a
Reviewed-on: https://dart-review.googlesource.com/66228
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-07-27 00:13:00 +00:00
Jenny Messerly 994dc880ed fix hints in dartdevc
Some of these only show up after the missing return fix (see #28233).

Change-Id: I4db73fac087ca7c4decf8b13460955d9917c671f
Reviewed-on: https://dart-review.googlesource.com/66900
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-07-26 23:35:33 +00:00
Paul Berry 1a5f94a0a4 Fix analyzer-CFE integration of illegal references to instance members from static contexts.
In particular, we want to make sure the element is resolved, in case
the user wants to navigate to it to make it static.

Change-Id: I0707145281858fbf084c6b2af32bb48bfed457f9
Reviewed-on: https://dart-review.googlesource.com/66820
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-26 22:59:56 +00:00
Sigmund Cherem d5b5736a47 Merge DDC's libraries specification into the sdk/lib/libraries.json file
Change-Id: I3f8076a3726aec0636e63173df8ec2a2c75d225e
Reviewed-on: https://dart-review.googlesource.com/66740
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-07-26 22:31:51 +00:00
Zach Anderson 1336802dee [test] Adds a KBC configuration to the test matrix
This is to run on FYI

Change-Id: Ic62e858853a3ccb67d844ec454fd1819aa35b87d
Reviewed-on: https://dart-review.googlesource.com/65780
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-07-26 22:05:06 +00:00
Konstantin Shcheglov 8c8a211c6e Understand 'isNegative' for Analyzer as 'hasError'.
Change-Id: Ia9489806c472cdbe44f3a234b3403c5ad5086b3b
Reviewed-on: https://dart-review.googlesource.com/67021
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-07-26 21:44:18 +00:00
danrubel 50b13015c9 Report error on annotation with type parameters
Change-Id: Ia57537fb76917da6c22ef30462fdd51fe8aea977
Reviewed-on: https://dart-review.googlesource.com/66604
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-26 19:14:36 +00:00
danrubel 9422495ad6 Report error on factory with type parameters
Change-Id: I7765b0bd27edc1d373378832da9d43d12f3dc8f2
Reviewed-on: https://dart-review.googlesource.com/66603
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-26 19:14:36 +00:00
Samir Jindel 232698047c [vm/precomp] Extend @pragma entry-points to classes.
Change-Id: I2233dd7552334b02f3c90f78163c1b5bdc159117
Cq-Include-Trybots: luci.dart.try:vm-kernel-win-release-x64-try,vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/65702
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-07-26 17:45:26 +00:00
Brian Wilkerson 34fea8710c More cleanup related to strong mode, mostly in the SDK support
Change-Id: I1aa0f5169774d53d8ba0902df7880a6462a600bd
Reviewed-on: https://dart-review.googlesource.com/66941
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-26 16:33:11 +00:00
Brian Wilkerson ed06bd0d33 Remove and deprecate strong mode references from the resynthesizer
Change-Id: I2b8f9703701ac44ce946f54501c5bcaa61844c31
Reviewed-on: https://dart-review.googlesource.com/66940
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-26 16:26:30 +00:00
Samir Jindel 567109df7f Take 3 for "[vm/kernel/precomp] Remove procedures from entry points files."
I've updated the transformer test. The Windows build error appears to have been spurious.

Take 2 is in patchset 1.

Cq-Include-Trybots: luci.dart.try:vm-kernel-win-release-x64-try,vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try
Change-Id: I6ef8f70aaf4664e0411e776463e88c2a1068dbcc
Reviewed-on: https://dart-review.googlesource.com/65902
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-07-26 16:24:59 +00:00
Brian Wilkerson 9c69e7e1d2 Fix some tests that were failing on the use-fasta-parser bot
Change-Id: I16723fcc9d3d5d36cc7e1d74c270b434fce70f40
Reviewed-on: https://dart-review.googlesource.com/66860
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-26 14:48:41 +00:00
Danny Tuppeny b2d0f8ea63 Remove tests relating to selected parameter index + bump version number
Change-Id: I2417b202b6b11b4c714f4c1d92edb13fd8d0ccc3
Reviewed-on: https://dart-review.googlesource.com/66572
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-07-26 13:51:19 +00:00
Danny Tuppeny a470790e5e Revert "Mark get_signature_test.dart as slow."
This reverts commit 5b2e9a4c4e.

Change-Id: If9d1c3abf1babee8ec7c8ce17bc8ce86240542fe
Reviewed-on: https://dart-review.googlesource.com/66571
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-07-26 13:50:40 +00:00
Danny Tuppeny 4c32dbb613 Add missing 'new' keywords to fix --no-preview-dart-2 failures
Change-Id: I1a8dab5d703e130ccc7fb25842db52fa642fc775
Reviewed-on: https://dart-review.googlesource.com/66570
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-07-26 07:33:40 +00:00
Devon Carew 5b2e9a4c4e Mark get_signature_test.dart as slow.
Change-Id: I483bc17f084f82702e1f5883bdcb1fa5b8cfdc6e
Reviewed-on: https://dart-review.googlesource.com/66840
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-26 04:21:10 +00:00
Jenny Messerly 1a122e3ac0 Deprecate module-root option in dartdevc, part of #32272
Adds an option for specifying the output JS module name if that is
needed (only applies for some module formats).

Also removes repl-compile (it's set via API, not the command line).

Refactors dartdevk options to match dartdevc so we can migrate more
easily. Moves shared code into a shared location and removes copied
code.

Change-Id: I966343ecbbc962f5d0f14ea7e65d78660159f420
Reviewed-on: https://dart-review.googlesource.com/64823
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-07-26 02:43:48 +00:00
Jenny Messerly 099815312a fix dartdevc source maps incorrectly storing temporary variable locations
Change-Id: Ib31bdc1067275c718b581172308c3926e19f906e
Reviewed-on: https://dart-review.googlesource.com/66861
Reviewed-by: Alan Knight <alanknight@google.com>
2018-07-26 01:32:58 +00:00
Jenny Messerly 21b85f326a fix #33348, length is a valid enum field name
Change-Id: Id4f9b3134a8041c826b7c8ccdd2763380f5fc987
Reviewed-on: https://dart-review.googlesource.com/66229
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-07-25 22:05:25 +00:00
Konstantin Shcheglov 372a24cb7c Store resolution for catch with invalid parameters.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I7137eca832b83a352e130d6f3041679611c7c117
Reviewed-on: https://dart-review.googlesource.com/66721
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-25 21:25:55 +00:00
Konstantin Shcheglov 54d46b801a Fix for unresolved redirecting constructor.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: If1f37ccad174c44b6b23d1dccdeefec88f888abc
Reviewed-on: https://dart-review.googlesource.com/66802
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-25 21:20:35 +00:00
Jenny Messerly 78ce706775 workaround for #33885, constant evaluation in Analyzer sometimes fails
Change-Id: I3cc641caab94210d38a893f849b4590dba77f47c
Reviewed-on: https://dart-review.googlesource.com/66225
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-07-25 20:54:25 +00:00
Konstantin Shcheglov 0212fbad89 Exception VariableDeclaration can be synthetic.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I887a70022a03d667aff2e0b66e17805dfce8513e
Reviewed-on: https://dart-review.googlesource.com/66760
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-25 20:43:25 +00:00
Paul Berry 0b778d0697 Change IncompleteErrorGenerator to make use of NonLValueGenerator.
This allows the special-case assignment handler methods to be removed
from ErroneousExpressionGenerator.

Change-Id: Iaf957f756dca56298c9ed49c6093fabe5ffd4149
Reviewed-on: https://dart-review.googlesource.com/66720
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-07-25 20:34:28 +00:00
Paul Berry 98fd0f3b6d Remove propertySet from TypeInferenceListener.
We never use this method; we use propertyAssign instead.

Change-Id: I179c48369b5317574975dd3b847af5f3f7753914
Reviewed-on: https://dart-review.googlesource.com/66780
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-07-25 20:33:58 +00:00
danrubel a74d6eac69 Report error on constructor with type parameters
Change-Id: I29a6e88f9d820834b13b0fa1c42a11d25d2e49f0
Reviewed-on: https://dart-review.googlesource.com/66602
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-25 18:54:07 +00:00
Paul Berry 232bed3d11 Change UnresolvedNameGenerator to use NonLvalueGenerator.
This avoids the need for custom assignment-handling logic in
KernelUnresolvedNameGenerator, and ensures that assignments to
unresloved names work properly with analyzer integration.

Change-Id: I802270987c90043d021f8560b56f47babf72fb1e
Reviewed-on: https://dart-review.googlesource.com/66701
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-07-25 18:22:45 +00:00
Konstantin Shcheglov e4446d3d0d Support for synthetic variable declarations.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I45592ac10c628fbf5a36c1cf27bf863aabe439f2
Reviewed-on: https://dart-review.googlesource.com/66700
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-25 18:10:55 +00:00
Brian Wilkerson 6e580733f1 Finish the test clean-up even though no tests can be made to pass
Change-Id: I86073dd11f8fd436f9600b27fe28fac8a39ed4e1
Reviewed-on: https://dart-review.googlesource.com/66680
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-25 17:49:25 +00:00
Martin Kustermann 28212050bf [VM] Re-generate type_flow expectation file after some changes to vm-service code
Change-Id: Ibdd299f2517c8c8bedb8999409989859d27a01a9
Reviewed-on: https://dart-review.googlesource.com/66567
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2018-07-25 17:46:23 +00:00
Konstantin Shcheglov 7fc6bf307f Resolve rethrow.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Ifb93dc66e80575bb3145d835b3e6e3195e4299be
Reviewed-on: https://dart-review.googlesource.com/66661
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-25 17:22:35 +00:00
Dmitry Stefantsov 726b4c035b [analyzer] Update tests for override checks
The tests are updated in accordance with http://dartbug.com/33235.

Change-Id: If0228bbeb39f1f5610b1ab3078960e02dd32659d
Reviewed-on: https://dart-review.googlesource.com/66381
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2018-07-25 17:19:35 +00:00
danrubel 41018ae11e Report error on async/sync method with no method body
Change-Id: I567fd26dd2c50f0f522020409dc41dac86b6466c
Reviewed-on: https://dart-review.googlesource.com/66601
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-25 16:57:45 +00:00
Konstantin Shcheglov 81db3e492a Fix resolution for named arguments in FunctionExpressionInvocation.
Change-Id: Iea1d87d59dcbd97876868eabf9cf64579ada3d28
Reviewed-on: https://dart-review.googlesource.com/66414
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-25 16:43:54 +00:00