Commit Graph

1249 Commits

Author SHA1 Message Date
Jennifer Messerly 95d5bf471c fix analyzer failing resolve loop variable nodes
for example: `var item; for (item in list) { ... }`

this happens anytime ResolutionCopier is used on these, because it drops the staticElement reference for `item` in the above example.

R=vsm@google.com

Review-Url: https://codereview.chromium.org/2612983002 .
2017-01-05 10:47:43 -08:00
Dan Rubel 55ef6e193c support --options flag and other analysis options flags in DDC
This updates DDC options processing to support:
* --options /path/to/analysis/options/file.yaml
* --enable-strict-call-checks
* --supermixin
* --no-implicit-casts
* --no-implicit-dynamic

As well as general refactoring and cleanup of DDC options processing

R=vsm@google.com

Review-Url: https://codereview.chromium.org/2598593003 .
2017-01-04 18:15:21 -05:00
Jacob Richman 93fb5d8119 Fix cross-window JS interop on FireFox.
BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2610813003 .
2017-01-04 14:15:20 -08:00
Vijay Menon 77cd33722b Mark test failing on FF
Jacob: looks like you changed the test just before the holidays?

TBR=jacobr@google.com

Review-Url: https://codereview.chromium.org/2610843002 .
2017-01-04 05:53:57 -08:00
Bob Nystrom dca3e74882 blob_constructor_test is passing now.
R=jacobr@google.com

Review-Url: https://codereview.chromium.org/2598853002 .
2016-12-21 17:11:22 -08:00
Jacob Richman 3659aaf181 Fix bug in Blob creation from workers.
Fixes https://github.com/dart-lang/sdk/issues/28155

BUG=

Review-Url: https://codereview.chromium.org/2592813003 .
2016-12-21 08:45:48 -08:00
Jacob Richman 7f26211c26 Correct handling of cross-frame functions in ddc.
Misc fixes of dart:js support on ddc.
Work around issue with Blob constructor on ddc.
Fix incorrect dart:js test on dart2js (fixes https://github.com/dart-lang/sdk/issues/26197)

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

Review-Url: https://codereview.chromium.org/2587203002 .
2016-12-19 15:00:55 -08:00
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 e321439470 cleanup Analyzer CLI and DDC arg parsing
This removes the need to split arguments on '='
before calling the extractDefinedVariables method.

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2581723002 .
2016-12-15 12:16:20 -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 eea098a315 fix DDC codegen test
TBR

Review-Url: https://codereview.chromium.org/2579693002 .
2016-12-14 22:24:39 -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 5aa30397d7 update DDC and analyzer cli preprocessArgs
* refactor Analyzer CLI and DDC to use common preprocessArgs method
* throw clear exception if trailing @file not found or cannot be read
* update preprocessArgs method to always return new list

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

Review-Url: https://codereview.chromium.org/2572813002 .
2016-12-13 14:37:22 -05: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
Bob Nystrom 6c757957db Move the dev_compiler strong mode tests into sdk/tests/.
DDC's codegen test copies those files to a local "gen" directory so
that it can do stuff like splitting out the multitests before it
compiles them to JS.

I left all of that alone, so the rest of DDC's test infrastructure is
unchanged. The very first step that builds the "gen" directory just
copies from sdk/tests/..._strong/... instead and the rest is good to go.

I did not move not_yet_strong_tests.dart somewhere more accessible yet
because I'm not sure if kernel needs it or where it should go.

I did not create any status files because DDC doesn't need them and
there are no test suites for the new directories for the other
platforms.
2016-12-09 11:09:55 -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 94e4a98671 Migrate tests for initializing formals
BUG=#27894
R=eernst@google.com

Review URL: https://codereview.chromium.org/2534293002 .
2016-12-07 10:58:02 -08:00
Vijay Menon dd16c377fb Enable more async code on node
This is primarily for easier testing/repro on node which has "global",
but not "self".

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2558133002 .
2016-12-07 10:52:04 -08:00
Bob Nystrom c1da4705f5 Revise the generic methods doc.
- Clarify up front that "methods" also applies to functions.

- Note that it is an error to use a type parameter as a type literal.

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

Review URL: https://codereview.chromium.org/2555803003 .
2016-12-06 13:42:46 -08:00
Lasse Reichstein Holst Nielsen 9412b54f1f Fix DoubleLinkedListQueue misbehavior on concurrent modification.
Documented forEachEntry, firstEntry and lastEntry.
Made forEachEntry more useful by making it compatible with removing and adding
around the current entry, and documented how it interacts.

BUG= http://dartbug.com/27920
R=floitsch@google.com

Review URL: https://codereview.chromium.org/2540993002 .
2016-12-06 09:27:04 +01: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
Bob Nystrom 41d18b72ed Revise generic method doc. 2016-12-02 15:07:00 -08:00
Bob Nystrom 4024328758 Update generic methods docs to use the new syntax.
- Move the old doc to a separate file and link to it.
- Update the new doc to use the new syntax.

I also took the liberty of trying to make it a little shorter and use
more concrete examples. I hope I still cover the same bases. If not,
let me know what I missed.
2016-12-02 13:50:05 -08:00
Jennifer Messerly 7a1b6e75b3 restrict generic function type subtyping
R=leafp@google.com

Review URL: https://codereview.chromium.org/2540903003 .
2016-12-01 19:24:15 -08:00
Vijay Menon 201c5b9297 Fix runtime strong mode error in ListMixin
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2544163002 .
2016-12-01 15:41:46 -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
Vijay Menon 106c623a9f Some fixes for lazy JS types
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2542833002 .
2016-12-01 07:44:38 -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
Alan Knight 667fc8dbe9 Make the dart:developer library available in DDC so debugger statement works
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/2534263002 .
2016-11-29 16:13:45 -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
Vijay Menon 22f85df76e Fix expectation
I copied over the new version of the test for sdk/tests and dropped the 'negative'.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2536903005 .
2016-11-29 10:28:27 -08:00
Brian Wilkerson 3e51e6d3c9 Fix reference to validate method
R=paulberry@google.com

Review URL: https://codereview.chromium.org/2536233002 .
2016-11-29 09:57:27 -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 180107cec3 add test, fixes #27807
this appears to have been already working correctly

R=vsm@google.com

Review URL: https://codereview.chromium.org/2517193004 .
2016-11-21 16:44:16 -08:00
Vijay Menon de9e3a3005 Set auto breakpoint at various errors
Any reason not to do this?  I generally find when framework code wraps these errors, it just complicates finding the original bug.  Better to just trap.

Perhaps should just inline the call to debugger though.  I put in dart.debugger with the thought of making it configurable.

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

Review URL: https://codereview.chromium.org/2519873004 .
2016-11-21 14:40:46 -08:00
Mohamed Hayibor 5595b9698d Fix typos 'overriden' to 'overridden' and '@mustCall super' to '@mustCallSuper' (#27853)
* fix overriden typos to overridden
* Fix @mustCall super to @mustCallSuper
2016-11-18 09:36:25 -08: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