Commit Graph

817 Commits

Author SHA1 Message Date
John Messerly 45f57aab55 small cleanup in dart:_runtime
there was LazyTagged thing that was not necessary

R=vsm@google.com

Review URL: https://codereview.chromium.org/1920743003 .
2016-04-26 17:58:13 -07:00
Harry Terkelsen 6a7e3ca102 Remove virtualField helper, just emit getters/setters in codegen.
Also fixes problems with final field overrides, which only override
the getter, not the setter.

BUG=https://github.com/dart-lang/dev_compiler/issues/486
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1918033002 .
2016-04-26 12:39:48 -07:00
Jacob Richman afc18e6061 Update sdk removing explicit as checks.
BUG=
R=leafp@google.com

Review URL: https://codereview.chromium.org/1907353003 .
2016-04-25 08:25:03 -07:00
Jacob Richman cb59a83138 Fix build break due to bug 522
BUG=

Review URL: https://codereview.chromium.org/1904373002 .
2016-04-21 17:18:44 -07:00
Jacob Richman 27ed87462b Cleanup dart:indexed_db, dart:svg, and dart:js errrors. update dart:html with extra generic methods.
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1909193002 .
2016-04-21 14:51:18 -07:00
Jacob Richman a429090901 Fix undefined method errors adding no-op stubs for methods needed by dart2js but irrelevant in ddc. We could later optimize ddc by providing a custom dart:html that doesn't use these methods. Fixes https://github.com/dart-lang/dev_compiler/issues/506
BUG=

Review URL: https://codereview.chromium.org/1905803002 .
2016-04-20 18:03:29 -07:00
Jacob Richman 5dd5c364d6 Fix all dart:html strong mode errors except for spurious FINAL_NOT_INITIALIZED_CONSTRUCTOR warnings.
BUG=
R=jmesserly@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/1887233005 .
2016-04-20 15:31:41 -07:00
John Messerly 261d7bf63a a few small dart:_runtime cleanups
R=vsm@google.com

Review URL: https://codereview.chromium.org/1896343002 .
2016-04-20 12:52:32 -07:00
Harry Terkelsen b53f682660 pipe filenames through sort for consistent ordering
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1895863003 .
2016-04-18 15:33:26 -07:00
Jacob MacDonald 308fa5ccb4 Add bazel worker support to the dev compiler.
BUG=
R=jmesserly@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/1884073003 .
2016-04-15 06:51:40 -07:00
John Messerly b8d55ce95d add command test, fix relative paths
R=vsm@google.com

Review URL: https://codereview.chromium.org/1886393003 .
2016-04-14 12:35:05 -07:00
John Messerly 0c148ecef4 Implement modular compilation
Highlights
* compile one module at a time
* use summaries to speed up compiles
* use command runner so we can add more commands later
* some long needed renames and file organization
* various other technical debt has been addressed

Lowlights
* lost node.js runner/tests (node output format still supported)
* possibly lost some closure support/workarounds (format still supported)
* needs more end-to-end tests of the new system

R=vsm@google.com

Review URL: https://codereview.chromium.org/1879373004 .
2016-04-14 11:28:12 -07:00
Vijay Menon d54ed38046 Work around dart:html inconsistency
We're hitting a runtime bug on requestAnimationFrame when we compile
against the latest dart:html in the analyzer (45) but run against the
DDC one (based on 39).

Adding the new type name by hand as a workaround until we roll, but
longer term we'll need to compile and run against the same sdk.

R=alanknight@google.com, leafp@google.com

Review URL: https://codereview.chromium.org/1849133003 .
2016-04-01 09:06:58 -07:00
John Messerly e8bee43919 More analyzer updates, and handle negative_tests
Also fixes node_test to not overwrite main SDK log

R=vsm@google.com

Review URL: https://codereview.chromium.org/1840203002 .
2016-03-29 15:16:44 -07:00
John Messerly 63a119bd86 fix to run against latest analyzer
hard part was dealing with the new for-each changes
the good news is the new for-each logic simplifes our await-for checking

R=leafp@google.com, rnystrom@google.com

Review URL: https://codereview.chromium.org/1840713003 .
2016-03-28 14:22:36 -07:00
Leaf Petersen 569c4f9045 Tweaks to compile against latest analyzer. Also changes the travis
setup to only override analyzer dependencies when $ANALYZER is
explicitly set to master.

BUG=
R=rnystrom@google.com

Review URL: https://codereview.chromium.org/1808123006 .
2016-03-18 20:57:00 -07:00
Leaf Petersen 8a833f1e3a Add generic types to Stream.transform in the DDC sdk.
https://github.com/dart-lang/sdk/issues/25860

Main SDK fix to follow.

BUG=
R=rnystrom@google.com

Review URL: https://codereview.chromium.org/1808393002 .
2016-03-17 17:49:15 -07:00
John Messerly 73159b6c1e Remove code that requires whole-program compile
This change removes functionality that is not part of the core Dart Dev
Compiler, in particular those features that were not designed for
incremental/modular compilation.

For a while, the primary way to use DDC will be as a compiler invoked by
a build system, e.g. make or bazel or some node.js based-build system.

We'd love to see the user functionality provided by these return.
In particular, a well designed server+watcher system would be a huge
boost to productivity!

I'll see about moving over HTML reporting to Analyzer CLI. It has a lovely UI.
Thanks to everyone who contributed these features.

The following features were removed:

* DDC transformer. Transformers require whole world, in memory files.
* DDC server. The server has its own mini-build system.
* Various kinds of reporting. These should be moved to Analyzer CLI.

Note: batch compiler and the node runner are left for now.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1788973002 .
2016-03-15 11:30:50 -07:00
Vijay Menon 5b4fdead8d Fixes #479
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1803033002 .
2016-03-15 10:13:25 -07:00
Leaf Petersen bf8c7cd07d Filter warnings from dependency_overrides to make travis green on
bleeding edge analyzer.

Bleeding edge analyzer has some deprecation hints.  We're using --package-warnings in our analyze.sh script and grepping for dev_compiler directory to limit us to dev_compiler errors.  This CL adds
an additional filter to hide warnings from dependency_overrides.

BUG=
R=jmesserly@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/1781123004 .
2016-03-14 14:52:56 -07:00
Vijay Menon 5007e1a562 Fix internal NSM helper to use a Dart Symbol
Not sure if this entirely handles #470, but it does fix the breaking example.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1754773002 .
2016-03-11 09:05:56 -08:00
Vijay Menon d530938a2b Various cleanup
- Allow just analysis given html file
- Checked mode fix for html-report
- Clear pubspec.lock for transformer test
- Format run

R=jmesserly@google.com, ochafik@google.com

Review URL: https://codereview.chromium.org/1762283003 .
2016-03-09 12:58:22 -08:00
John Messerly edec4a53e6 Reorganize tool/input_sdk/private
In particular, this moves DDC's magic runtime library into its own folder. The runtime library doesn't follow the same rules as other libraries, so it's easier to reason about in its own folder.

This is only file moves + changing libraries.dart to point at the new location.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1771713002 .
2016-03-08 15:52:12 -08:00
John Messerly aad19229e2 DDC: remove dumpInfo flag
I was hoping to get rid of SummaryReporter altogether, but it looks like it's still used by server mode.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1778623002 .
2016-03-08 15:47:03 -08:00
John Messerly 4e29500150 remove checked mode from build_sdk. Saves ~25% from build SDK time
Review URL: https://codereview.chromium.org/1753453002 .
2016-03-08 11:03:33 -08:00
Vijay Menon 883972e37a Fix deprecation message
TBR=jmesserly@google.com

Review URL: https://codereview.chromium.org/1775673002 .
2016-03-07 15:33:01 -08:00
John Messerly 93251ee241 upgrade to latest analyzer
fixes https://github.com/dart-lang/dev_compiler/issues/471

Changes here are:
* Analyzer now infers list/map literals
* Analyzer changed how isPotentiallyMutated* APIs work, so we need to track current function
* Another fix to arrow functions. We shouldn't skip generating covariant arg checks. If there were any, we use `=> { block }` form rather than `=> expr` form.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1757343002 .
2016-03-03 11:32:54 -08:00
Olivier Chafik f20caad681 Split out transformer and node tests in their own env 2016-03-01 18:48:47 -08:00
Olivier Chafik cc153484d3 Run a separate Travis env with analyzer#master 2016-03-01 18:48:47 -08:00
Vijay Menon c75d51d6bf Fixes #460
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1718353002 .
2016-02-22 15:03:56 -08:00
Vijay Menon c9c1c5233a Disable transformer test to get travis green
See #458

TBR=ochafik@google.com

Review URL: https://codereview.chromium.org/1719983002 .
2016-02-22 08:43:12 -08:00
Vijay Menon ce985ef38d Support StackTrace.current
This was recently added to the Dart SDK.  Breaking Angular in DDC via stack_trace package.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1720473002 .
2016-02-19 14:25:21 -08:00
Vijay Menon 93a627bf44 Wrapperless dart:html and friends
This reuses the dart2js code.

R=jacobr@google.com, jmesserly@google.com

Review URL: https://codereview.chromium.org/1700153002 .
2016-02-18 13:57:59 -08:00
Olivier Chafik 09845fbaf7 Use dart.global instead of window in debugger.dart
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1706973002 .
2016-02-18 16:38:00 +00:00
Vijay Menon a9bcaf6c5b Fix travis
This also regens based on the latest analyzer.  Looks like most improvements on the code.

See #456

TBR=jmesserly@google.com

Review URL: https://codereview.chromium.org/1710583002 .
2016-02-17 13:12:52 -08:00
Vijay Menon fce423e295 Get travis back to green
Just commenting out the pub run test step.

TBR=ochafik@google.com

Review URL: https://codereview.chromium.org/1690393003 .
2016-02-12 12:18:51 -08:00
Olivier Chafik 7a373c1984 e2e test for transformer (webdriver + pub serve)
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1672563002 .
2016-02-12 14:53:17 +00:00
Olivier Chafik 037f9bfcb9 Make tool/get_chrome_canary.sh work on Mac 2016-02-12 14:23:18 +00:00
Vijay Menon 3f85417199 Support for dart:typed_data
Fixes #441
Fixes #444

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1680263002 .
2016-02-11 14:36:27 -08:00
Olivier Chafik b4df401e51 Add ./tool/override_analyzer_dependency.sh to checkout latest analyzer + set is as override
Note that pub get is needed after this.

When DDC works with analyzer@master, we can setup a travis env by adding the following lines to .travis.yml:

before_install:
  - test -z "$ANALYZER_BRANCH" || ./tool/override_analyzer_dependency.sh
env:
  - ANALYZER_BRANCH=""
  - ANALYZER_BRANCH="master"

Currently the latest analyzer provides null elements for CompilationUnit parts of dart._runtime (see failure: https://travis-ci.org/dart-lang/dev_compiler/jobs/107936636#L465)

BUG=
R=leafp@google.com

Review URL: https://codereview.chromium.org/1682673002 .
2016-02-10 03:09:38 +00:00
Olivier Chafik 7cabe2b1df Fix a couple of references in _runtime that should have been resolved as quasiquotes
(found when doing tree-shaking :-))

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1681593004 .
2016-02-09 16:35:09 +00:00
Vijay Menon a4d4a8dd54 Infra for running lib tests
This is in prep for #441

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1673863002 .
2016-02-05 14:49:16 -08:00
Olivier Chafik f2a26256e4 Simple transformer to run ddc in pub build/serve
- Added simple test that exercises relative and absolute imports
- Introduced FileSystem abstraction to collect compilation outputs /
seed runtime inputs
2016-02-04 19:08:50 +00:00
Olivier Chafik f7f21ca65e Create local alias for super class in --closure mode (issue #312)
Closure compiler chokes on super classes that aren't qualified paths.

(example: http://goo.gl/5mHC7S)

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1638533004 .
2016-02-03 20:21:12 +00:00
John Messerly dee054e23b fixes #415, correct type for map literals
Not sure why this wasn't implemented. Lists seem to be okay.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1611753002 .
2016-02-01 15:39:54 -08:00
John Messerly f43b756b2f fix #43, remove => workaround
also fixes node.js test to use a temp directory, instead of creating "tmp" under dev_compiler checkout

R=vsm@google.com

Review URL: https://codereview.chromium.org/1643523008 .
2016-02-01 12:54:58 -08:00
Olivier Chafik edaf069dba Add --modules=node support
- Force import order in all sdk files + simplify module builders
- Stub a node_test.sh with hello world + DeltaBlue (to be expanded to language tests in a followup change)
- Use global_ from dart:_runtime in html lib
- Better export for symbols that node chokes upon: throw, const, void, implements, export... (define as throw_ locally, with proper local resolution, then export as throw).
- Cleanup node module builder

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1633003002 .
2016-01-29 10:01:48 +00:00
Vijay Menon b56617b947 Add CustomEvent
This just mechanically adds CustomEvent.

Fixes #423

R=jacobr@google.com

Review URL: https://codereview.chromium.org/1616263005 .
2016-01-28 17:04:13 -08:00
Vijay Menon a693930830 Roll analyzer to 0.27.2-alpha.1
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1641643004 .
2016-01-28 15:35:59 -08:00
Jacob Richman 2dfc37b9ed Use the great new Devtools API for custom formatters. Now Dart objects are now generally as easy to view in the debugger in Chrome using dev_compiler as they are using Dartium. There are still some edge cases that need to be polished but most of the general property display and type information is done.
Checkpoint in devtools debugger support.

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1625563002 .
2016-01-22 13:28:28 -08:00