Commit Graph

706 Commits

Author SHA1 Message Date
Dan Rubel 13bd1ad0bf DDC/AnalyzerCLI common cmdline option processing
Refactor DDC and Analyzer CLI command line option processing
to use common createContextBuilderOptions method
and ContextBuilderOptions to hold common options.

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2584293003 .
2016-12-19 16:24:20 -05:00
Jennifer Messerly 77f53f609f fixes #27385, implement virtual fields in DDC
If a field is marked @virtual in Analyzer, DDC will allow it to be overridden as well

also fixes #28114, abstract getters/setters broke generation of forwarding getters/setters

R=vsm@google.com

Review-Url: https://codereview.chromium.org/2571363002 .
2016-12-15 11:39:25 -08:00
danrubel a105d89e2b refactor DDC and Analyzer CLI parser option declaration
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2580933002 .
2016-12-15 14:10:09 -05:00
danrubel 5b84611856 refactor DDC to support --ignore-unrecognized-flags
* add --ignore-unrecognized-flags to DDC
* refactor Analyzer CLI to use same filterUnknownArguments functionality
* remove now unused CommandLineParser and associated tests

R=brianwilkerson@google.com, vsm@google.com

Review-Url: https://codereview.chromium.org/2578113002 .
2016-12-15 10:46:09 -05:00
danrubel 1d4334739c update DDC to use analyzer extractDefinedVariables
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2578463004 .
2016-12-14 20:43:53 -05:00
Vijay Menon 392c242df9 Add dart:io stubs to ddc sdk, define dart.library.html
Fixes #27302

R=brianwilkerson@google.com, jmesserly@google.com, rnystrom@google.com

Review-Url: https://codereview.chromium.org/2578573003 .
2016-12-14 12:34:33 -08:00
Bob Nystrom b900a39620 Implement messages in assert() in dev_compiler.
Fix #27342.

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2568313002 .
2016-12-13 13:31:56 -08:00
Dan Rubel f8cbc1423b add verbose option to show hidden args
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2569783003 .
2016-12-13 09:46:15 -05:00
Brian Wilkerson 756cfc963d Fix warnings
Review-Url: https://codereview.chromium.org/2564323002 .
2016-12-11 16:53:13 -08:00
Vijay Menon e0e7efc351 Support callable classes where call is inherited
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2560983002 .
2016-12-08 12:04:10 -08:00
danrubel ae9a362cc1 remove DDC --build-root option
R=vsm@google.com

Review URL: https://codereview.chromium.org/2553973004 .
2016-12-07 19:18:38 -08:00
Jennifer Messerly ef4baafae5 fixes #28032, await in cascade
R=vsm@google.com

Review URL: https://codereview.chromium.org/2559883002 .
2016-12-07 14:00:18 -08:00
Paul Berry ae6fd961a1 Prepare for decoupling analyzer ASTs from element model.
This CL creates top level accessor functions which may be used to map from AST data structures to their corresponding elements and types, and begins using those accessor functions throughout the SDK.  It also adds empty interfaces ResolutionTarget and ResolutionType, which are implemented by Element and DartType respectively.

In a future CL, I will change the types stored in the AST to ResolutionTarget and ResolutionType, rather than specific element types; this will decouple the ASTs from the element model.  The presence of the accessor functions will allow clients to continue accessing elements and types in a type-safe way.

R=asgerf@google.com, brianwilkerson@google.com, scheglov@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/2551023005 .
2016-12-07 11:08:14 -08:00
Vijay Menon 69f0218802 Mark test pass on Chrome 55
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org/2554523002 .
2016-12-05 05:55:44 -08:00
Vijay Menon ec81359fc0 Fixes #27960
For "m.call(..)", the function is "m".

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2539033004 .
2016-12-01 15:38:46 -08:00
Alan Knight 1ff09b431f Keep only a single active stack trace, enables traces for thrown non-exceptions
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2545923002 .
2016-12-01 13:41:08 -08:00
Paul Berry 2d289c2df6 Modify dev_compiler to use analyzer's new AstFactory class.
The old mechanism for creating analyzer ASTs (factory constructors on
the interface classes) will be going away in analyzer 0.30.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2545843002 .
2016-12-01 10:37:22 -08:00
Bob Nystrom aa749dbd8d Sprinkle some types on the SDK like the static typing fairy.
When I'm looking at the dynamic call profiles of an internal app test,
I see a bunch coming from the SDK itself. In fact, the top five most
common dynamic call sites are in the SDK.

This fixes four of them. (The fifth is in runUnary() in Zone, and I
don't think can be made typed yet.)

R=vsm@google.com

Review URL: https://codereview.chromium.org/2542723003 .
2016-11-30 17:04:54 -08:00
Vijay Menon 88c5dd5745 Better mirrors support for mixins and private fields
This is generally motivated by pageloader usage.

R=rnystrom@google.com

Review URL: https://codereview.chromium.org/2535273002 .
2016-11-29 14:00:01 -08:00
Jacob Richman 1370b6bb46 Fix handling of static names for JS interop and improve test coverage.
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2536823003 .
2016-11-29 13:33:19 -08:00
Jacob Richman 1b339deab2 Support lazy JS types.
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2515353003 .
2016-11-22 10:55:35 -08:00
Dan Rubel f109556fb7 remove unused DDC --package-paths options and MultiPackageResolver
R=vsm@google.com

Review URL: https://codereview.chromium.org/2527433002 .
2016-11-22 11:20:23 -05:00
Jennifer Messerly 37029a22de fix #27336, ddc with recursive generic class type args
R=vsm@google.com

Review URL: https://codereview.chromium.org/2516483002 .
2016-11-17 15:38:33 -08:00
Jennifer Messerly 365d9a000a fix #27784 and fix #27785, fromEnvironment constants in DDC
R=vsm@google.com

Review URL: https://codereview.chromium.org/2503803004 .
2016-11-16 12:20:43 -08:00
Jacob Richman 27287baa57 Only re-export the main methods. The ddc codegen doesn't depend on any other methods being exported and export code for top level fields and all JS interop types was broken. This change reduces code size of a large Angular2 app by 6%.
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/2500283002 .
2016-11-15 09:35:44 -08:00
Vijay Menon bc980498a1 Fix ddc whitelist op
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2492523004 .
2016-11-09 15:23:04 -08:00
Jacob Richman 3356f82eb3 Fix crashing bug for closures of the form () { return; }
BUG=
R=jmesserly@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/2484913004 .
2016-11-08 15:14:10 -08:00
Jennifer Messerly 8f04f902df fix #27771, create directory if needed
R=vsm@google.com

Review URL: https://codereview.chromium.org/2483753004 .
2016-11-08 10:21:31 -08:00
Jennifer Messerly 3995146b55 fix #27775, enum declaration where "name" is a property
R=vsm@google.com

Review URL: https://codereview.chromium.org/2488543002 .
2016-11-08 10:18:55 -08:00
Bob Nystrom 8daf4cfb73 Get the basics of deferred libraries working.
References to loadLibrary on a library prefix are compiled to a
helper function that returns a Future that always completes
successfully.

The deferred libraries aren't actually deferred, but code that uses
loadLibrary() now doesn't barf.

BUG=#27343
R=vsm@google.com

Review URL: https://codereview.chromium.org/2477673006 .
2016-11-07 10:41:23 -08:00
Vijay Menon d062fd7994 Fixes #27752
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2473143003 .
2016-11-03 18:01:05 -07:00
Jacob MacDonald 1aff39dd13 replace / with . in sourceUrl to prevent breaking relative source uris in source maps (#27730) 2016-11-03 12:22:55 -07:00
Vijay Menon 69279d6b62 Fix summary path for tests
Should get travis back to green

TBR=jmesserly@google.com

Review URL: https://codereview.chromium.org/2470053002 .
2016-11-01 21:12:01 -07:00
Jennifer Messerly 2e8d011ca3 fix #27607, add dev_compiler summary to the SDK and move JS files
R=vsm@google.com

Review URL: https://codereview.chromium.org/2474523003 .
2016-11-01 18:17:43 -07:00
Natalie Weizenbaum dddede61fe Allow trailing options in DDC. (#27691) 2016-10-31 14:23:58 -07:00
Jennifer Messerly bdeb6023af fix #27672, call computeConstantValue for metadata
R=vsm@google.com

Review URL: https://codereview.chromium.org/2458693003 .
2016-10-27 14:05:54 -07:00
Jennifer Messerly 644c1dca75 fix #27429, html wrapper methods pass incorrect number of arguments
R=vsm@google.com

Review URL: https://codereview.chromium.org/2454173003 .
2016-10-27 13:16:00 -07:00
Jennifer Messerly ce76fc1fe5 fix #27644, allow "dart" and "dartx" to be renamed if needed
R=vsm@google.com

Review URL: https://codereview.chromium.org/2435223002 .
2016-10-21 11:48:19 -07:00
Jennifer Messerly 95ef8bb59a fix #27643, failed to virtualize fields if an abstract one is mixed in
R=vsm@google.com

Review URL: https://codereview.chromium.org/2441693003 .
2016-10-20 16:31:06 -07:00
Vijay Menon ce963596f0 Emit API-only summaries
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2435203002 .
2016-10-20 16:21:53 -07:00
Jennifer Messerly cc1ad8cdde fix #27532, implementing a native type with fields
R=vsm@google.com

Review URL: https://codereview.chromium.org/2430953006 .
2016-10-20 15:59:18 -07:00
Jennifer Messerly 5111675810 fix #27631, get/set methods no longer shadow index operator
R=rnystrom@google.com

Review URL: https://codereview.chromium.org/2435163002 .
2016-10-20 15:45:29 -07:00
Brian Wilkerson 96750cd5cb Split out options from ContextBuilder
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2425423009 .
2016-10-20 11:03:11 -07:00
Alan Knight 47150f50d5 Use dart:html prefixes (e.g. webkitAudioNode) on other browsers
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/2431443002 .
2016-10-19 16:43:41 -07:00
Jacob Richman 4f6ce11bc8 Emulate compiling a source file in the context of an existing library. Add --debugger-compile flag that performs permissive dynamic calls on private members. Polish web_command.dart adding the ability to evaluate code in the context of an existing library.
BUG=
R=brianwilkerson@google.com, jmesserly@google.com

Review URL: https://codereview.chromium.org/2423313002 .
2016-10-18 16:34:48 -07:00
Nicholas Shahan 3f67c24cb8 Revert "Fix library name insert and access inconsistency on windows"
This reverts commit d8505ee264.

It was found to cause issues in the web file system when one file
was found to be within a root path.

R=jacobr@google.com

Review URL: https://codereview.chromium.org/2432603002 .
2016-10-18 16:25:03 -07:00
Vijay Menon a032a4c952 Revert "Fix file name handling on windows"
This appears to break on bazel.

BUG=
R=nshahan@google.com

Review URL: https://codereview.chromium.org/2422403002 .
2016-10-17 15:27:48 -07:00
Bob Nystrom 2305865365 Start cleaning up the HTML tests.
My initial goal was just to move some of the HTML tests off unittest,
but that ended up slurping in some other changes as well. I haven't
finished going through all of the tests, but this puts the
infrastructure in place and fixes a batch of them. I'll do more next.

Changes:

- Add a "minitest" package. This shims just enough of the unittest/test
  API to make it easy to swap it out for unittest without having to
  rework the entire test.

- Go through the HTML tests from A-J and change them to use minitest
  when possible. The ones that aren't possible use asynchrony.
  Minitest doesn't support async tests (yet, maybe).

- Triage those tests and enable ones that are passing. Mark them failing
  if failing. Filed a couple of tracking bugs for the common issues,
  but for other cases, I just left a comment.

- In the process of this, I went ahead and make some of the affected
  tests strong mode clean if they weren't already and it was easy.

- Synchronize changes between dev_compiler's fork of expect and
  pkg/expect. We'll want to unfork those at some point. D-:

This gets dev_compiler from 1985 tests to 2042.

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

Review URL: https://codereview.chromium.org/2413073002 .
2016-10-13 08:47:27 -07:00
Nicholas Shahan 96f485b075 Fix file name handling on windows
Paths on windows were having the drive letter (ex: c:\) recognized as
a URI scheme.

Fixes #27450

R=vsm@google.com

Review URL: https://codereview.chromium.org/2413823002 .
2016-10-12 14:30:15 -07:00
Nicholas Shahan d8505ee264 Fix library name insert and access inconsistency on windows
Make naming of libraries on windows consistent with the behaivor on
linux and mac.

Fixes #27576

R=vsm@google.com

Review URL: https://codereview.chromium.org/2415653002 .
2016-10-12 14:14:00 -07:00