Commit Graph

1589 Commits

Author SHA1 Message Date
Vijay Menon 09621f6724 Try to handle int64 mode errors on literal handling
Bug:
Change-Id: I55fabb8eb359dbc91b4848d25109af9344484ee5
Reviewed-on: https://dart-review.googlesource.com/32121
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2018-01-10 22:45:59 +00:00
Aske Simon Christensen 0c03458717 Reland "Treat most warnings as errors in strong mode."
Reland of https://dart-review.googlesource.com/c/sdk/+/29160

Adds a 'severity' field to diagnostic messages and replaces all
addWarning and addNit functions by a generic addProblem, which uses
the intrinsic severity of the message. Eventually, errors should
also be reported this way.

A special severity value maps into either warning or error for Dart 1
and Dart 2, respectively. Most Dart 1 warnings are in this category.

Fixes some 320 failures of DDK test expecting a compile-time error.
These were previously masked by a workaround in the DDC error handler
which has now been removed.

Closes https://github.com/dart-lang/sdk/issues/31286

Change-Id: Id3b3b7f1fc6a101639fc908c90f3ec7d304a7b4b
Reviewed-on: https://dart-review.googlesource.com/32580
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-01-08 09:20:02 +00:00
Jenny Messerly 0add93f98e fix #31781, fromEnvironment constants in DDK
Change-Id: I5915677204c0b02321e8db6a34e870b6ac63179d
Reviewed-on: https://dart-review.googlesource.com/32681
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-01-05 22:55:18 +00:00
Jenny Messerly 303d71f53f fixes #31575, DDC kernel backend can now compile the SDK to JS
Also adds this to the build script, so we can eventually replace the existing SDK compile step with this new one.

Change-Id: Iba0720df5bbab302d2fdd0b5aeeb182de152cc98
Reviewed-on: https://dart-review.googlesource.com/32504
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-01-05 21:32:50 +00:00
Aske Simon Christensen 5402f02cbc Revert "Treat most warnings as errors in strong mode."
This reverts commit 3303df8102.

Reason for revert: Tests failing

TBR=ahe@google.com,askesc@google.com

Change-Id: Ifc8c9def6d134ab1b0c5f094a02a4f57a3581f19
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/32360
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2018-01-04 15:35:17 +00:00
Aske Simon Christensen 3303df8102 Treat most warnings as errors in strong mode.
Adds a 'severity' field to diagnostic messages and replaces all
addWarning and addNit functions by a generic addProblem, which uses
the intrinsic severity of the message. Eventually, errors should
also be reported this way.

A special severity value maps into either warning or error for Dart 1
and Dart 2, respectively. Most Dart 1 warnings are in this category.

Fixes some 320 failures of DDK test expecting a compile-time error.
These were previously masked by a workaround in the DDC error handler
which has now been removed.

Closes https://github.com/dart-lang/sdk/issues/31286

Change-Id: I6acea31b8cba7dec8b318e081d28f4eb4ebbf75c
Reviewed-on: https://dart-review.googlesource.com/29160
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-01-04 14:56:46 +00:00
Kevin Millikin 6fa813d818 Change handling of Kernel static errors
Before: Kernel static errors were represented by throwing a distinguished
error or else by calling a distinguished library const constructor.

Now: Kernel static errors are represented by InvalidExpression.  To support
error reporting, InvalidExpression has an optional message and a file
offset.  A back end can choose to signal these errors at any time; for
example, when deserializing the binary, or when compiling the procedure
containing the static error, or when the erroneous expression is evaluated
at run time.

InvalidStatement is removed because it can be encoded as ExpressionStatement
of InvalidExpression.

Future work:

* supporting static errors where an expression cannot appear in the AST
* allowing InvalidExpression to contain an Expression for error recovery
* adding a top-level list of static errors and warnings to the binary

Bug: https://github.com/dart-lang/sdk/issues/29840
Change-Id: Ifdfe9a76cee6cefed28061bf245be70531d2f413
Reviewed-on: https://dart-review.googlesource.com/31320
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-01-04 11:00:25 +00:00
Devon Carew fe8c3d8ca2 Remove a few analyzer warnings.
Bug:
Change-Id: I874998fcd65e7e274d4efc670c04ce2064171bec
Reviewed-on: https://dart-review.googlesource.com/32142
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-01-03 18:16:44 +00:00
Sigmund Cherem 226602dc18 Reapply "Support module names in DDK"
This includes two fixes that only caused problems in windows:
  - we assumed file-uris in other parts of DDK, and this caused problems with sourcemaps
  - we generated module names containing a leading "./" (e.g. "./expect"), this didn't cause trouble in linux, but it is incorrect.

Bug:
Change-Id: Id3c363670544ed0a8373184ec5445549346fc7bf
Reviewed-on: https://dart-review.googlesource.com/31748
Reviewed-by: Jake Macdonald <jakemac@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-01-02 22:12:13 +00:00
Sigmund Cherem 80a74e6bff Revert "Support module names in DDK" and "Do not assume file-uris in other parts of DDK"
This reverts commits e122f48257 and b2b902f55a.

Reason for revert: broke ddk in windows, need to investigate proper fix

Change-Id: I5c03bae406f57570cc465aad32610c19ac385944
Reviewed-on: https://dart-review.googlesource.com/31541
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-12-27 23:35:14 +00:00
Sigmund Cherem b2b902f55a Do not assume file-uris in other parts of DDK
TBR to make the bots green again.

TBR=jakemac@google.com

Change-Id: I5057e41f1974e6a790a37aee4bda00bb6e118f4c
Reviewed-on: https://dart-review.googlesource.com/31520
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2017-12-27 22:33:12 +00:00
Sigmund Cherem e122f48257 Support module names in DDK
This adds the basic support for using the path to the .dill file as a module
name. The main difference between this and Jake's original CL is that we now
hide the multi-root as an implementation detail.

Change-Id: If24af1aaefa5c1445c7c84bd9ff4a7a4d738a320
Reviewed-on: https://dart-review.googlesource.com/31283
Reviewed-by: Jake Macdonald <jakemac@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2017-12-27 17:52:22 +00:00
Sigmund Cherem a6b28dfee6 Move the use of 'multi-root' out of the FE
Change-Id: If26e4da18d4379041927e100e471a381f5979126
Reviewed-on: https://dart-review.googlesource.com/30600
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
2017-12-19 22:00:43 +00:00
Jens Johansen 627fb6ac6c [DDC-kernel] Fix sourcemaps after fileUri was added to Constructors
When fileUri was added to Constructors a few tests had to be marked as
failing. This CL fixes the issue.

Bug:
Change-Id: I1168fab05a8edfcd17416476b3abbaf9322d88b9
Reviewed-on: https://dart-review.googlesource.com/29580
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-12-14 09:07:17 +00:00
Vijay Menon e9d03b4120 Forward native static methods
We don't generate these.  Rather than do that, this CL forwards to the
actual JS method instead.

This is the diff on the generated dart_sdk.js:

59732c59732

<     return html$.LengthValue._fromDictionary_1(dictionary_1);

---

>     return dart.global.LengthValue.fromDictionary(dictionary_1);

59894c59894

<     html$.MediaStreamTrack._getSources(dart.fn(value => {

---

>     dart.global.MediaStreamTrack.getSources(dart.fn(value => {

80232c80232

<     html$.Notification._requestPermission(dart.fn(value => {

---

>     dart.global.Notification.requestPermission(dart.fn(value => {

Change-Id: I9e857a808557e4702fb2b99aa518c25b49ff3db7
Reviewed-on: https://dart-review.googlesource.com/29020
Reviewed-by: Terry Lucas <terry@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2017-12-13 13:38:36 +00:00
Jens Johansen 970e1aabf7 [DDC-kernel] Deal with null fileUris
When building source maps it is currently assumed that the fileUri is
non-null (or at least that the location extracted from the Uri and
offset is non-null.
That might not always be the case (e.g. see CL 29003).

Bug:
Change-Id: I29c928a0d5fcd2bd5e1d1ef6c6d6ac97d2e7408c
Reviewed-on: https://dart-review.googlesource.com/29120
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-12-13 12:37:14 +00:00
Jens Johansen b2dd8418d9 [DDC-kernel] Fix of various annoyances
* Fix possibly null-pointer at end of batch mode
 * Fix changed fileUri type in source map printer
 * Silence a few warnings in tests.

Bug:
Change-Id: Ief1b9b62205a7bc20924a9e5efc06b9c9c34896a
Reviewed-on: https://dart-review.googlesource.com/27945
Reviewed-by: Karl Klose <karlklose@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-12-11 08:42:17 +00:00
Jens Johansen 83057c42b1 Run dartdevk tests on Windows too
Attempt #4 at making Windows bot happy

Bug:
Change-Id: I6101851787ba956fc14f28130ac6b73bfa38b2a3
Reviewed-on: https://dart-review.googlesource.com/27723
Reviewed-by: Jens Johansen <jensj@google.com>
2017-12-08 13:34:09 +00:00
Jens Johansen 6e3d94ab1a Revert "Run dartdevk tests on Windows too"
This reverts commit 125d704a6e.

Reason for revert: Seemingly still looks for .packages in wrong place.

Original change's description:
> Run dartdevk tests on Windows too
> 
> Attempt #3 at making Windows bot happy
> 
> Bug:
> Change-Id: Iae01ddc20167eed00387bc7075fd3272665ed76a
> Reviewed-on: https://dart-review.googlesource.com/27680
> Reviewed-by: Jens Johansen <jensj@google.com>

TBR=jensj@google.com,kmillikin@google.com

Change-Id: If8f13daf50343f0347fd7b9c218227154a766306
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/27700
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-12-08 13:02:52 +00:00
Jens Johansen 125d704a6e Run dartdevk tests on Windows too
Attempt #3 at making Windows bot happy

Bug:
Change-Id: Iae01ddc20167eed00387bc7075fd3272665ed76a
Reviewed-on: https://dart-review.googlesource.com/27680
Reviewed-by: Jens Johansen <jensj@google.com>
2017-12-08 12:40:28 +00:00
Jens Johansen 511dfcf449 Revert "Run dartdevk tests on Windows too"
This reverts commit 1a01e108c1.

Reason for revert: Getting error "out/ReleaseX64/dart-sdk/.packages: Error: Unable to read '.packages' file"

Original change's description:
> Run dartdevk tests on Windows too
> 
> Attempt #2 at making Windows bot happy
> 
> Bug:
> Change-Id: I0fb1147a67eb3ceda0e51f2f82348127a0c5ba66
> Reviewed-on: https://dart-review.googlesource.com/27640
> Reviewed-by: Kevin Millikin <kmillikin@google.com>

TBR=jensj@google.com,kmillikin@google.com

Change-Id: I5c00525a9325dd25d149f992ad4b6e33517b6327
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/27660
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-12-08 12:24:02 +00:00
Jens Johansen 1a01e108c1 Run dartdevk tests on Windows too
Attempt #2 at making Windows bot happy

Bug:
Change-Id: I0fb1147a67eb3ceda0e51f2f82348127a0c5ba66
Reviewed-on: https://dart-review.googlesource.com/27640
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2017-12-08 12:03:11 +00:00
Bob Nystrom f5580e5408 Ensure the library debugger name string is properly escaped.
On Windows, this string may contain backslash path separators.

Change-Id: I881ef63ce44af8af1e5c2971d72c260f7f42efc3
Reviewed-on: https://dart-review.googlesource.com/27406
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2017-12-07 21:52:01 +00:00
Jens Johansen ab2271f4f8 [DDC-kernel] Improve Windows support
Bug:
Change-Id: I816f3bd39e0daaa885bc06d4f36361ea19e13096
Reviewed-on: https://dart-review.googlesource.com/26601
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-12-06 14:50:39 +00:00
Vijay Menon 416b55437a Limit renaming on external members
Fixes #31489

Change-Id: Iece82eaf0bcd83dfc6f2335214b084b0d9e06de0
Reviewed-on: https://dart-review.googlesource.com/25180
Reviewed-by: Jacob Richman <jacobr@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2017-12-05 16:17:12 +00:00
Alan Knight cce0993482 Add a sourcemap entry for this, fixes hovering over this._field in debugger
I don't really understand how this fixes it, but it seems to, and it doesn't
cause any test regressions.

Bug:
Change-Id: I6187c41cd211cd41bb90cddf604d8c09ad458342
Reviewed-on: https://dart-review.googlesource.com/25505
Reviewed-by: Vijay Menon <vsm@google.com>
2017-12-04 18:29:23 +00:00
Jens Johansen 9bc232be12 [CFE/DDC] Create initial DDC-specific CFE entry point
This CL creates the initial DDC-specific CFE entry point.
It is currently mostly a matter of copying the DDC code for running the
front-end into the front-end, although it also applies a workaround for
making batch-mode faster.

Local timings of running
tools/test.py -mrelease -cdartdevk -rnone --strong --checked language_2
before and after change:

* Before: [05:49 | 100% | + 5136 | -    0]
* After: [00:20 | 100% | + 5136 | -    0]

Change-Id: I799b54b406970c4aa8653b71aaffa2ba476ee9d9
Reviewed-on: https://dart-review.googlesource.com/24921
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-12-04 14:35:02 +00:00
Samir Jindel bf797e6507 [kernel] Re-land assert initializers.
This change updates Dart2js and DDC.
Thanks to johnniwinther@ for the Dart2js updates.

The original revision is in patchset 2.

Change-Id: I26db33312f003f88ccccb67b27998ef21a1f667f
Reviewed-on: https://dart-review.googlesource.com/25820
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2017-12-04 11:22:34 +00:00
Sigmund Cherem 0af93151f6 Correctly resolve input URIs in dartdevk
Uri.base.resolve will correctly resolve relative paths to a absolute URI, but
when given any URI with a scheme (not just package: or dart:) it will resolve it
appropriately.

This change is needed to be able to specify a custom URI for an app-root
location from package:build.

Change-Id: Iecbda1690974d8bb7db5c5f227699dfa1fcb0619
Reviewed-on: https://dart-review.googlesource.com/25503
Reviewed-by: Jake Macdonald <jakemac@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2017-12-01 20:45:47 +00:00
Dmitry Stefantsov 316bc2d96e [ddc-kernel] Fix how mock members for fields are generated
Bug:
Change-Id: I6b910c9faa741fd8c8121250fbce55e9a9d29c50
Reviewed-on: https://dart-review.googlesource.com/24121
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2017-12-01 09:46:16 +00:00
Jens Johansen 22d0696d91 [CFE] Move front-end API under src/
This CL deprecates the front-end API and moves it into src/api_prototype.

For now all usages have been updated to point to the new location,
but they should be updated to use custom-client invocations instead (e.g.
one specific way for DDC, another for dart2js etc.)

Bug:
Change-Id: I9b4f41f6ebf55d42510fd35240d942d1dc7292d6
Reviewed-on: https://dart-review.googlesource.com/24822
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2017-12-01 08:42:16 +00:00
Jens Johansen ac245f73af [DDC-kernel] Finish stage 1 of adding source maps
This CL "finishes" the first iteration of adding sourcemaps to the
DDC-kernel pipeline. There will likely still be some work left to do,
but it can be added as it is noticed. Ideally by adding a test first.

This CL adds testing and fixes source maps for

- (Better) handling of async, async* and sync*
- Conditional expressions
- await for
- multi catch (catch on (...) { ... } catch on (...) { ... })
- yield
- variable set
- static set
- == and identical
- string concatenation
- is and as
- throw
- map literals

Bug:
Change-Id: Ia3e5145eff049d9829cb636864ef76f300e09615
Reviewed-on: https://dart-review.googlesource.com/24105
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2017-11-30 10:28:51 +00:00
Jens Johansen bbaa91e912 [DDC] Add context.enterNode call to "if" in "else" clause
Without this there is no way to get source maps on the else if in e.g.
```
    if (core.StateError.is(e$)) {
      core.print("StateError");
    } else if (core.ArgumentError.is(e$)) {
      let e = e$;
      {
        core.print(dart.str`ArgumentError: ${e}`);
      }
    }
```

Bug:
Change-Id: I0203fe7f1e0c14c677e16d61e7649624b72d41cd
Reviewed-on: https://dart-review.googlesource.com/23673
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-11-30 07:38:13 +00:00
Karl Klose 2d48be6e62 Invoke dartdevk.dart through shell script that locates the 'dart' executable
Change-Id: Id13cc838b67785b12f95d19b480a6a830ad5c003
Reviewed-on: https://dart-review.googlesource.com/24120
Commit-Queue: Alexander Thomas <athom@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2017-11-29 11:27:50 +00:00
Kevin Millikin faff6876ca Fix a bug in nullability of fields
The simple nullability predicate would report that static fields are always
non-nullable.  Change this to report that they are always nullable.

Bug:
Change-Id: I47336bc9686c3bee90d77e6130bd5cddfb9f8a68
Reviewed-on: https://dart-review.googlesource.com/23674
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2017-11-27 14:15:11 +00:00
Kevin Millikin 05426fe0f5 Fix an issue in constructors
Static fields should not be initialized in constructors.

Bug:
Change-Id: I34cb16a1eaa1c38b13266883199b6541f35fe340
Reviewed-on: https://dart-review.googlesource.com/23600
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2017-11-27 09:39:11 +00:00
Kevin Millikin 4f551306f5 Fix a pair of superficial issues in generated JS
1. Catch bodies were unconditionally wrapped in a block, even when
they were already a block.

2. Finally was on a line by itself and indented incorrectly because of
an extra newline.

Bug:
Change-Id: I006cd2841c159a0fc86501bfaf282c7ad4c0ab0b
Reviewed-on: https://dart-review.googlesource.com/23580
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2017-11-24 15:31:27 +00:00
Kevin Millikin f84f656d56 Fix a bug in compilation of try/finally
Compilation of Kernel's try/finally included a flattening optimization
when the body was a JS try/catch.  This optimization duplicated the
catch block, which changes the semantics of exceptions thrown from the
catch block.

Bug:
Change-Id: I65aefa798d7f9026ab24ed6d1d484dea53235955
Reviewed-on: https://dart-review.googlesource.com/23560
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2017-11-24 15:29:47 +00:00
Jens Johansen c69cf9312d [DDC-kernel] Add source information to async wrapper and named parameter
This CL adds source information to the wrapping code for async and named
parameters. This is done for the source mapping not making Chrome (etc)
point to something completely wrong.

Tests are added too.

Bug:
Change-Id: Ifcd16428e0ca8c273fd6377e93297bbfbb37d773
Reviewed-on: https://dart-review.googlesource.com/23480
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2017-11-24 14:05:20 +00:00
Jens Johansen 19a0100a96 [DDC-kernel] Add source mapping to classes
This CL adds (initial) source mapping to classes and adds (some) tests
of wanted behaviour.

Bug:
Change-Id: I07a38930963b9d93e3bae5206b9eceda69643f7d
Reviewed-on: https://dart-review.googlesource.com/23300
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2017-11-24 14:05:20 +00:00
Jens Johansen 28607729fc [DDC-kernel]: Stepping into constructor with initializers
This CL adds a test for stepping into a constructor with initializers.
It additionally changes the stack map in the kernel pipeline to produce
a better result in this case.

Bug:
Change-Id: If0a43b030446c4a7370f386f0f51411d223dda83
Reviewed-on: https://dart-review.googlesource.com/20720
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2017-11-24 14:05:20 +00:00
Dmitry Stefantsov 68f2c12756 [ddc-kernel] Remove type parameters from function types of constructors
Bug:
Change-Id: I62a078d5c406358f2037dfc40900b7d957487e93
Reviewed-on: https://dart-review.googlesource.com/22081
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Karl Klose <karlklose@google.com>
2017-11-24 13:39:07 +00:00
Kevin Millikin fed1e4bd49 Fix a bug in compilation of while loops
Unlabeled while loops in Kernel (these are ones that are not the
target of a break) did not shadow labeled ones.  The compiler would
generate a break without a label in JS which would target the wrong
loop.

Bug:
Change-Id: Ib060ab66326a3ea0779eaceccaf1ca06ccfafb75
Reviewed-on: https://dart-review.googlesource.com/23421
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2017-11-23 20:53:06 +00:00
Samir Jindel e0e0760fc0 [kernel] Crash nicely in DDK.
Bug:
Change-Id: I90f8aca8ae394a7795f72ac0c63e1d6cb96ce2ed
Reviewed-on: https://dart-review.googlesource.com/22540
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2017-11-21 15:50:28 +00:00
Jens Johansen df1d05a7a1 [DDC-kernel] Initial source maps; testing framework for sourcemaps
This CL adds the bare minimum of source map generation for the kernel
pipeline in DDC.

It additionally introduces a testing framework that compiles dart files
with DDC (with or without kernel), steps through it via D8 and compares
the positions stopped at to the expected stop positions.

Bug:
Change-Id: Ie9e06164d8e51c973b83c46a8472e044876e4317
Reviewed-on: https://dart-review.googlesource.com/20662
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-11-21 10:23:08 +00:00
Bob Nystrom 68dc77f456 Build DDC's SDK as part of the regular build.
This involves a few main pieces:

- Add code to the GN scripts to generate DDC's patched SDK and then
  compile it to summaries and JS in the build output directory.

- Add support to the underlying DDC build scripts to support controlling
  which files are built where.

- Update test.dart to use the DDC SDK from the build directory.

- Update create_sdk to use the built SDK instead of the checked in one.

- Fix various internal DDC tools to build their own copy of the SDK
  (since they can't easily find the one in the build directory because
  it's path if config-specific) and use those.

- Delete the checked DDC SDK JS and summaries.

I think I got everything working. The built Dart SDK looks fine -- it's
identical to one built using the old build scripts.

The various tools and DDC's little test runner I *think* work, but there
may be a bug or two in there. I tried the various things I could and it
seems like they work but it's hard to tell since they may be kind of
broken right now anyway.

Bug:
Change-Id: Iea77915a5c1cc8450f60ebfbdf8c725c7ea2f32c
Reviewed-on: https://dart-review.googlesource.com/18144
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2017-11-20 23:24:07 +00:00
Vijay Menon f70f544e57 Fix source map entries for field accesses
This improves:
- stepping through assignment expressions in devtools
- hover on fields when on lhs

Change-Id: Ifee0d7b0fe2de65494182f6818b9dbcd0a79087d
Reviewed-on: https://dart-review.googlesource.com/21820
Commit-Queue: Vijay Menon <vsm@google.com>
Reviewed-by: Alan Knight <alanknight@google.com>
2017-11-17 23:38:45 +00:00
Leaf Petersen 63918ea921 Remove comment syntax from lib/async.
Eliminate uses of the comment syntax in lib/async.  This is mostly
done simply by turning explicit (but commented) casts into implicit
casts to avoid regressing dart2js performance.

Bug:
Change-Id: I286c7bffbf609b5e2fa24b9d48b90876c2c45a9b
Reviewed-on: https://dart-review.googlesource.com/21566
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2017-11-17 20:40:47 +00:00
Leaf Petersen 85ca7df7e2 Avoid fuzzy arrows when parsing json.
Change the types on the json decoding reviver to avoid fuzzy arrow
checks.

Bug:
Change-Id: I3ca52d7676b6305c398f128d370bc9859fd65820
Reviewed-on: https://dart-review.googlesource.com/21564
Reviewed-by: Vijay Menon <vsm@google.com>
2017-11-17 20:37:07 +00:00
Lasse R.H. Nielsen b0f6c4c8b1 Don't deprecate old constant names yet.
Flutter reacts badly to using deprecated members.

Change-Id: Id7933ddbc0c2fa68d9a232e2ad4c74dfd0ecdf35
Reviewed-on: https://dart-review.googlesource.com/21601
Reviewed-by: Erik Ernst <eernst@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2017-11-17 10:58:33 +00:00