Commit Graph

1304 Commits

Author SHA1 Message Date
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
Jenny Messerly a5dbba427b fix scoping bug in DDK helper function
I've removed this helper as it appears to be premature optimization.

Change-Id: Ib1a20171a62e4141d902ad3ad0eaecaaa0c75583
Reviewed-on: https://dart-review.googlesource.com/35809
Reviewed-by: Vijay Menon <vsm@google.com>
2018-01-23 21:39:27 +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
Jenny Messerly 99ff2be4f6 fix crashing issues in DDK
- fix let nodes used in top-level code
- fix super sets and gets of non-final field
- fix synthetic mixin class name using invalid characters
- add an error class to dart:core to prevent front end crash on duplicate field initializers

Change-Id: I552c8909ae2bcf957443e3dac3bd6c97c64f6ee1
Reviewed-on: https://dart-review.googlesource.com/35540
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-01-18 22:57:54 +00:00
Jenny Messerly 3c549480e9 fix enums in DDK
Change-Id: I637a7ddcdbd87d43b02166d443c73a94b2809d00
Reviewed-on: https://dart-review.googlesource.com/35461
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-01-18 18:58:45 +00:00
Jens Johansen 188cee8b1c [kernel] Rename SyntheticDefault to Synthetic
Change-Id: Ibfa23fcde73e3482c1001bb885de86a408c66e5c
Reviewed-on: https://dart-review.googlesource.com/35580
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-01-18 11:09:35 +00:00
Jenny Messerly a6c5bb2875 remove usage of deprecated ClassHierarchy constructor in DDK
Change-Id: I619d44a8dabb9cf2a06f687c4c4ec202e297b3bf
Reviewed-on: https://dart-review.googlesource.com/35420
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-01-17 22:45:58 +00:00
Jenny Messerly 6f59d5be74 Fix typed JS interop in DDK
Change-Id: Ic36d5dca3b74cd174b62f917f2f49e0920341c1b
Reviewed-on: https://dart-review.googlesource.com/34511
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-01-17 21:46:48 +00:00
Jenny Messerly 8d48151e16 fix #31541, DDC/K for async bodies declared to return FutureOr
Change-Id: I3aa1c9bbdfe95fa6f5759f80850ee8d3d6307bce
Reviewed-on: https://dart-review.googlesource.com/35383
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-01-17 21:40:30 +00:00
Peter von der Ahé 4d1adf42d3 Deprecate IncrementalClassHierarchy
See https://github.com/dart-lang/sdk/issues/31842

Change-Id: I019909831a91a4e06138dc3a6bf32f766bca1ae6
Reviewed-on: https://dart-review.googlesource.com/34880
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2018-01-17 13:30:17 +00:00
Jenny Messerly a052d8e0dc fix some issues with compiling the kernel SDK
- fix all usage of `.name` when `.name.name` is required
- fix handling of inline-JS in the SDK
- fix casts on SDK nodes

Change-Id: Ic48e0b77e6e03515f16b8c30d3e274abbe2ed272
Reviewed-on: https://dart-review.googlesource.com/34540
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-01-17 02:53:22 +00:00
Jenny Messerly f17ccdfbea fix #31782, implement not-null analysis for dartdevk
Conceptually this is a port of analyzer/nullable_type_inference.dart.
It contains some refactoring and other improvements, as well as tests.

Change-Id: I448440793f11e2e87583d9d47c0e6a1e54ae21f7
Reviewed-on: https://dart-review.googlesource.com/34308
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-01-12 22:40:50 +00:00
Jenny Messerly 9179fd5103 implement generic function instantiation in DDK
Change-Id: Id7307b7e8a31b96da3ac765a0936f7c7e675465e
Reviewed-on: https://dart-review.googlesource.com/34303
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-01-12 02:01:13 +00:00
Aske Simon Christensen 9bdcc40f69 Rename PhysicalFileSystem to StandardFileSystem.
Preparation for data URI support. For clarity, this is just a rename.

Change-Id: Ibbd8da05d1a7106b5ec7c0ea9c1e13a95a89d1bd
Reviewed-on: https://dart-review.googlesource.com/33460
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-01-11 11:23:25 +00:00
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