Commit Graph

42 Commits

Author SHA1 Message Date
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
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
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
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
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
Kevin Millikin a16234be9b Fix the dartdevk tests
Change-Id: I75af5c6c1e571e80d5ed023081d17b6a64a14827
Reviewed-on: https://dart-review.googlesource.com/21400
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2017-11-17 09:51:32 +00:00
Kevin Millikin 680ac3c500 Fix compilation of break and continue in loops
Kernel represents break and continue in Dart uniformly as break.  When
compiling to JavaScript we would like to use continue where possible and
avoid labeling statements that do not need to be labeled.

The basic idea is: at compile time maintain a list of Kernel targets
(LabeledStatements) that can be compiled to JS break without a label at a
given point in the program, and a list of Kernel targets that can be
compiled to JS continue without a label, and a map from Kernel targets to
the 'effective' target that will be labeled if necessary when compiled to
JS, and a mapping from effective targets to their label names if they must
be labeled.

Change-Id: Ie660cf3dd68399ebff128116fe38c250cb6b7f35
Reviewed-on: https://dart-review.googlesource.com/21120
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2017-11-16 10:17:42 +00:00
Karl Klose ccde2ffcc2 Handle Kernel specific mixin name encoding
Change-Id: Ibcd4a5f54aaf621052331887d872866579e13dbc
Reviewed-on: https://dart-review.googlesource.com/19683
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2017-11-15 10:39:31 +00:00
Kevin Millikin 17430920f7 Fix nesting of try and finally blocks.
Kernel try and finally statements do not necessarily compile to JS
blocks, but the JS AST requires blocks for try and finally.  Ensure
that these statements are blocks.

Bug:
Change-Id: I7abe6ae55650dc726cc89d86d12757d21a783064
Reviewed-on: https://dart-review.googlesource.com/20721
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2017-11-15 09:46:51 +00:00
Kevin Millikin d95f73f018 Flatten nested block function bodies.
In many cases function bodies were a block containing a single nested
block.  Flatten these cases.

Change the test for whether a lexically-scoped local variable clashes
with a parameter to work on the generated code, not the source.

Change-Id: I74d37fe686e481e3300bb9d37b30857e8e375cb5
Reviewed-on: https://dart-review.googlesource.com/20661
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2017-11-15 08:58:51 +00:00
Jenny Messerly 384678e4b3 port DDC's code_generator to Kernel
Change-Id: I2b6a5f56a69f5d3a965aefc3f8d4550d5940ac5a
Reviewed-on: https://dart-review.googlesource.com/17980
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2017-11-04 22:17:56 +00:00
Bob Nystrom cf8a477cb7 Support test packages in dartdevk in test.dart.
This allows dartdevk to compile tests that import packages like expect.
There are a few pieces to this:

- Add support to build_pkgs.dart to build the kernel summaries for each
  test package (in addition to the analyzer summaries it already
  builds).

- Plumb that through the dartdevc_test target in the GN build as well.

- While we're at it, use GN to build the ddc_sdk.dill file and have
  test.dart load that one instead of the manually built one from calling
  ./tool/kernel_sdk.dart.

- Add command-line arguments to dartdevk for passing in the path to the
  SDK summary and the other summaries to compile against.

- Fix a little typo in processed_options.dart that was preventing it
  from resolving "package:" URIs.

- In test.dart, when compiling a test, link in the summaries for all of
  the test packages.

At runtime, it still uses the JS for those packages generated from the
old analyzer-based front end since the kernel-based compiler isn't
complete enough to compile any of those packages yet.

With all of this, if I change a test to:

  import "package:expect/expect.dart";

  main() {
    Expect.equals("a", "b");
  }

Then it compiles but fails at runtime. The compiler is completing, but
the generated code has some bugs. I don't know enough to fix them
myself, but here's what I've found out:

- In _libraryToModule(), the Library we get from kernel has a null
  fileUri, so this returns an empty string. That in turn means the
  generated JS tries to use "$" as the module name.

  Using this works around it temporarily:

      if (moduleName.isEmpty) moduleName = library.name;

- In _emitTopLevelNameNoInterop(), it doesn't handle the case where the
  NamedNode is a static method on a class. It just generates the library
  and method name, skipping the class, so "Expect.equals(1, 2)" gets
  compiled to "expect.equals(1, 2)" instead of
  "expect.Expect.equals(1, 2)".

Change-Id: I6bd9d98bc9706965160d8fb7cf70b20eeebab3a8
Reviewed-on: https://dart-review.googlesource.com/16687
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2017-10-27 21:25:58 +00:00
Bob Nystrom 67ca95fc2c Support different module formats in dartdevk.
Change-Id: I0683c1bdaa5e67332d67f9ec84052851b4b0c649
Reviewed-on: https://dart-review.googlesource.com/15760
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2017-10-20 23:25:08 +00:00
Bob Nystrom 9c0a6fd27c Add rudimentary support for dartdevk to test.dart.
It's added as a new compiler, so pass "-c dartdevk" to use it.

It doesn't support any test packages yet, so tests that, say, import
package expect won't compile. I'll work on that next, but it will
require adding some stuff to the build scripts to build .dill files for
those packages.

This does get test.dart invoking the compiler, running the resulting
test, and correctly reporting the result:

- A test that doesn't throw an exception and stays within the bounds of
  what is currently implemented in dartdevk passes.

- A test that compiles correctly but fails at runtime fails with a
  RuntimeError.

- A test that contains a compile error fails with a non-zero exit code
  and is reported as a CompileTimeError.

Change-Id: Icacbf1ff54dfe7aa4d245382d3b0aeb375cf105b
Reviewed-on: https://dart-review.googlesource.com/15420
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2017-10-20 16:00:28 +00:00
kmillikin 95982b53cd [ddc-kernel] Compile return and arrow functions
Compile return statements.  Kernel function bodies are statements, not
necessarily blocks.  In that case, blockify the JS function body.

Bug:
Change-Id: Ibbed1c2039b103151b7244774f3daf8992264a88
Reviewed-on: https://dart-review.googlesource.com/15280
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2017-10-19 20:58:37 +00:00
Jenny Messerly 4234e18593 workaround fasta test incorrectly analyzing DDC code
pkg/front_end/test/fasta/analyze_test is incorrectly failing because of DDC changes.
This must be fixed, but in the meantime this works around it.

Change-Id: I72fd56f9b306dce9b1f34e810c6ece3f6d8f49fb
Reviewed-on: https://dart-review.googlesource.com/14342
Reviewed-by: Jenny Messerly <jmesserly@google.com>
2017-10-17 00:26:22 +00:00
Jenny Messerly ef3ac59dd6 add a dartdevk command that compiles with the new front end
This ports a fairly large part of DDC's Analyzer-based code generator,
however most nodes are not supported yet.

The goal is to preserve all functionality of code that was ported,
except for deprecated features (e.g. mirrors, fuzzy arrows, libraryRoot).

Change-Id: I3b10d5773c7c10a740fa336720243b03c6b82529
Reviewed-on: https://dart-review.googlesource.com/10705
Reviewed-by: Vijay Menon <vsm@google.com>
2017-10-16 21:13:52 +00:00
Jennifer Messerly 3a907e5cab add a script to build DDC's SDK to a dill file
Change-Id: I93f9d55bd99a3b98ee823c38255e9a8081954a4b
Reviewed-on: https://dart-review.googlesource.com/10213
Reviewed-by: Vijay Menon <vsm@google.com>
2017-10-03 20:27:12 +00:00