Commit Graph

1321 Commits

Author SHA1 Message Date
Jacob Richman a6a206062d Custom formatter cleanup Fix case where displaying a class constructor generated unreadable huge output. Fix case where exceptions were throw. Correct display of statics, fix indentation bugs. Add improved custom formatter test to main repro. As a drive by fix, switch hashCode to use a symbol instead of the name $identityHash as $identityHash was making custom formatter test output unstable.
BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2703263002 .
2017-02-28 17:47:53 -08:00
Jennifer Messerly fe294f3753 unfork DDC's copy of most SDK libraries
There's some changes in strong mode errors we may want to follow up on.

Unforks the following: async, collection, convert, core, developer, internal, io, isolate, math, mirrors.

Does not unfork: html, indexed_db, js, js_util, svg, typed_data, web_audio, web_gl, web_sql.

R=vsm@google.com

Review-Url: https://codereview.chromium.org/2698353003 .
2017-02-28 17:10:52 -08:00
Vijay Menon 53971cb67e Fix Function.apply
Fixes #27257.

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

Review-Url: https://codereview.chromium.org/2716583006 .
2017-02-24 19:24:48 -08:00
Leaf Petersen ef120f105f When metadata is not requested, elide signature information that is
not needed for dynamic checks (static fields/getters/setters and constructors).

BUG=
R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2711253004 .
2017-02-24 12:59:09 -08:00
Vijay Menon 4021fecb1a Streamline field symbol names
Original CL from Kasper. :-)

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2703373003 .
2017-02-23 14:11:21 -08:00
Jacob Richman a1b8c1c6d5 Extend the API exposed to JS to include a method that resolves urls against the summaryDataStore finding the closest match to a file with a summary or returning null if no urls match the path.
Update dev_compiler web project to work with latest analyzer changes.

Tweak API to work better with new summary paths and small polish items.

BUG=
R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2713773004 .
2017-02-23 11:29:10 -08:00
Vijay Menon 0c8704e1c7 Rerun format
Looks like I forgot to do this on my last cl.

TBR=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2709613003 .
2017-02-21 06:50:22 -08:00
Vijay Menon 1ec614fd7b Enable DDC output to run on v8/d8 using ES6 modules
Fixes #27309

V8 / D8 tip supports ES6 modules natively.  It's a little cumbersome
to set up, but hello world runs.  :-)

> ln -s $DDC_PATH/lib/js/es6/ddc_sdk.js ddc_sdk
> dart  $DDC_PATH/bin/dartdevc.dart --dart-sdk-summary $DDC_PATH/lib/sdk/ddc_sdk.sum --modules es6 -o hello hello.dart
> cat > run.js
import { hello } from 'hello';
hello.main();
> d8 --module run.js

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2701963002 .
2017-02-17 16:54:21 -08:00
Vijay Menon 5601a604f0 Cleanup proxy/defer code
This cleans up some issues I found when merging this internally.

R=jacobr@google.com

Review-Url: https://codereview.chromium.org/2699943003 .
2017-02-17 08:12:03 -08:00
Vijay Menon e011ac789e Deferred parsing for legacy modules
This is a nice win for large, internal apps.  Module code is not parsed until accesses via proxy.

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2697093002 .
2017-02-15 16:30:20 -08:00
Leaf Petersen fd6f2cc4cc Add generic types to Future.forEach in DDC sdk
BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2696133005 .
2017-02-15 11:17:25 -08:00
vsmenon 6f748afa91 Update USAGE.md
Fixes #28677
2017-02-15 10:52:42 -08:00
Paul Berry 02ff6326d7 Remove unused TokenType.IS.
TokenType is used for symbols, not keywords.

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2691043003 .
2017-02-13 11:17:02 -08:00
Vijay Menon 986a1c2775 keep null check on virtual field
We weren't correctly blocking the opt if the field was marked virtual

R=leafp@google.com

Review-Url: https://codereview.chromium.org/2693593002 .
2017-02-10 16:00:13 -08:00
Ben Konyi 39f80e42e0 Corrected spelling mistake from "happend" to "happen" throughout multiple files.
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2688943002 .
2017-02-10 12:52:42 -08:00
Vijay Menon 30c8ca6616 Use computeConstantValue instead of constantValue
Paul, you recommended that we switch to this a while back, but it got
lost in the shuffle.  I noticed we seem to drop some unneeded null
checks in generated code with this change.  :-)

R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2684303002 .
2017-02-09 12:35:31 -08:00
William Hesse 72b58ee3b6 Fix corelib_strong/sort_test on dev_compiler
BUG=
R=jacobr@google.com, vsm@google.com

Review-Url: https://codereview.chromium.org/2683583009 .
2017-02-08 23:06:52 +01:00
Vijay Menon b27e65d5d1 Unwrap type if needed on dcall
R=leafp@google.com

Review-Url: https://codereview.chromium.org/2672273004 .
2017-02-06 20:51:53 -08:00
Jennifer Messerly 5817ba47e2 fix #28642, handling of top and bottom types in DDC
in particular: void, Null, and combinations with FutureOr<T>

R=leafp@google.com

Review-Url: https://codereview.chromium.org/2671113002 .
2017-02-06 14:56:10 -08:00
Leaf Petersen a3b4366f11 Infer Null for return type of functions with empty returns.
This allows inference to infer Null as the return type of functions
which have no return statements, or which return with no value.

Also allows inference to propagate Null.

Fixes https://github.com/dart-lang/sdk/issues/28602
Fixes https://github.com/dart-lang/sdk/issues/28630

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

Review-Url: https://codereview.chromium.org/2667343005 .
2017-02-06 12:24:39 -08:00
Jennifer Messerly ac85576979 fix #28630, instance method tear-offs are treated as strict arrows
R=leafp@google.com

Review-Url: https://codereview.chromium.org/2675963004 .
2017-02-03 13:21:20 -08:00
Jacob Richman a8c7e74424 Remove dynamic call from _LinkedHashSet. Remove some dcalls from the dart:html util library.
BUG=
R=alanknight@google.com, vsm@google.com

Review-Url: https://codereview.chromium.org/2666053004 .
2017-02-01 13:26:41 -08:00
Leaf Petersen 3fa3964a70 Suppress NO_DEFAULT_BOUND errors.
This suppresses the emission of NO_DEFAULT_BOUND errors, and makes the
default instantation for recursive bounds backwards (and possibly
forwards) compatible.  Also adds a couple of currently failing tests
for cases that should be made erroneous regardless of whether we
choose to support malbounded type constructor applications.

BUG=
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2662973005 .
2017-02-01 10:18:05 -08:00
Vijay Menon 5dffba506e Use bleeding edge analyzer to analyze DDC
Note, we were getting this from building the SDK from scratch, but we
can just call it directly. :-)

Travis try-run here:

https://travis-ci.org/dart-lang/sdk/builds/197045751

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2669623002 .
2017-01-31 12:05:37 -08:00
Vijay Menon c88a17ff55 Some test cleanup
These tests occasionally time out on travis.  uri_test as well, but
there are two tests with that name, so I added code to disambiguate in
the logs.

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2666593002 .
2017-01-31 10:23:26 -08:00
Vijay Menon d5e5feb686 Shut up bad analyzer warning
This is a workaround for #28507

TBR=leafp@google.com

Review-Url: https://codereview.chromium.org/2667753003 .
2017-01-31 10:08:47 -08:00
Conor Reisman 80066aa2d6 Fix typo in StreamSink.close documentation (#28572)
provding -> providing.
2017-01-31 04:11:38 -08:00
Jacob Richman f6151f902e Fix dynamic calls on JS interop classes.
BUG=

Review-Url: https://codereview.chromium.org/2668543002 .
2017-01-30 14:19:07 -08:00
Jacob Richman f3c33b047d Remove spurious call to captureStackTrace.
Just creating an Error object is sufficient on FF,
Chrome, Safari, and Edge. Note that captureStackTrace
was not supported by other browsers so those browsers
were going down the even slower path of throwing an
exception.

BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2668503002 .
2017-01-30 13:30:31 -08:00
Vijay Menon 154cd39db8 Fix test status
Started breaking with leaf's cl on Fri.

Note, a	 very recent test (I think) is not strong clean any more.  Rewrite it?

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

Review-Url: https://codereview.chromium.org/2662873002 .
2017-01-30 08:08:16 -08:00
Jacob Richman c3870fc93f Fix mocking native classes and add a regression test.
BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2656363003 .
2017-01-27 14:34:19 -08:00
Jacob Richman 959a375541 Fix getFieldType to handle metadata and workaround bad types for setters called via mirrors.
BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2664493005 .
2017-01-27 14:23:34 -08:00
Vijay Menon 50ccf6d9b5 Fix DOM constructors in inline JS
R=jacobr@google.com

Review-Url: https://codereview.chromium.org/2659063002 .
2017-01-27 09:47:13 -08:00
Vijay Menon fd94337b42 Fix for Animation and other polyfills
The polyfill code needs to run before dart_sdk is loaded.  Otherwise, the registerExtension step on these types does not work.

Also fixes #27605

R=jacobr@google.com

Review-Url: https://codereview.chromium.org/2649613003 .
2017-01-25 16:18:49 -08:00
Vijay Menon a91cc9cc9e Use microtasks in dart.async
Not quite sure about this, but it makes ordering match for the example in  #28509

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2653253002 .
2017-01-25 16:14:01 -08:00
Jennifer Messerly 0e00b3e5c8 fix #28008, fix #28009 implement FutureOr<T>
This implements FutureOr<T> in strong mode, otherwise it's ignored (treated as `dynamic`.

Also fixes strong mode's inference subtype function incorrectly treating `void` as a malformed type. This had the consequence of allowing `void` to be inferred as a type argument.

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

Review-Url: https://codereview.chromium.org/2647833002 .
2017-01-25 15:32:57 -08:00
Jacob Richman d90ed8c295 Fix noSuchMethod handling of methods that are also extension methods. Fix noSuchMethod handling of methods with names that are rewritten in DDC e.g. "_get" instead of "[]" Fix some mirror system handling of symbols with names that are rewritten in DDC
BUG=
R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2623053004 .
2017-01-24 11:16:21 -08:00
Konstantin Shcheglov b206c84210 Reland c9e1b88 and 56726fc with a DDC fix.
Revert "Revert "Use single InputPackagesResultProvider, without SdkSummaryResultProvider.""

This reverts commit b701ad6453.

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

Review-Url: https://codereview.chromium.org/2647323006 .
2017-01-24 09:13:26 -08:00
Vijay Menon a27adee736 Update tests for FF 51
A handful of tests started working in FF 51.

TBR=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2655673003 .
2017-01-24 08:32:17 -08:00
Jacob Richman d6063ca391 Closes https://github.com/dart-lang/sdk/issues/28291
Fix extending a JS class and add a test to ensure it
continues to work from DDC. Note this behavior will never
be supported in Dartium and is not yet supported by Dart2JS.

BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2654583002 .
2017-01-24 07:20:31 -08:00
Vijay Menon b701ad6453 Revert "Use single InputPackagesResultProvider, without SdkSummaryResultProvider."
This reverts commit c9e1b888a3.

Revert "Remove parent from SummaryResynthesizer."

This reverts commit 56726fcce0.

TBR=scheglov@google.com

Review-Url: https://codereview.chromium.org/2648213007 .
2017-01-24 06:21:38 -08:00
Konstantin Shcheglov c9e1b888a3 Use single InputPackagesResultProvider, without SdkSummaryResultProvider.
Each SummaryResynthesizer is now responsible for creating its TypeProvider.
And with the new AnalysisDriver we stop using SDK CachePartition.

For now we add SDK's summary bundle into SummaryDataStore.
Eventually we will get rid of it and add individual SDK libraries.

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

Review-Url: https://codereview.chromium.org/2652823002 .
2017-01-23 16:54:17 -08:00
Konstantin Shcheglov 5c722b4118 Issue 28478. Add new strong mode bounds failing tests.
R=brianwilkerson@google.com, vsm@google.com
BUG=

Review-Url: https://codereview.chromium.org/2651503004 .
2017-01-23 15:15:13 -08:00
Vijay Menon 9964772025 Cleanup build_sdk error checking
R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2646313003 .
2017-01-23 13:56:06 -08:00
Benjamin Dopplinger bf5597c95a Fix "classs" typos (#28469) 2017-01-23 17:00:24 +01:00
Vijay Menon fa2823925b Hard fail on ddc sdk build error
R=jacobr@google.com

Review-Url: https://codereview.chromium.org/2645953006 .
2017-01-20 15:55:26 -08:00
Vijay Menon a7f7a311c0 Fix for covariant
We've been silently failing to rebuild the SDK since covariant was added.
Looking at making SDK build break fail the presubmit!

TBR=leafp@google.com,jacobr@google.com

Review-Url: https://codereview.chromium.org/2648863002 .
2017-01-20 15:20:44 -08:00
Konstantin Shcheglov e8cf6b43a3 Mark dartbug/27526 tests as failing in DDC.
R=vsm@google.com
BUG=

Review-Url: https://codereview.chromium.org/2641073006 .
2017-01-19 20:20:37 -08:00
Leaf Petersen 8ae2f82dce Eliminate redundant signatures.
The check to see that a method signature was redundant was not
handling generics correctly.  This CL fixes it, so that we no
longer emit redundant signatures for methods on generic
classes.  This should help with startup and code size a bit.

Fixes https://github.com/dart-lang/sdk/issues/28432

BUG=
R=rnystrom@google.com

Review-Url: https://codereview.chromium.org/2640793007 .
2017-01-19 12:44:39 -08:00
Bob Nystrom 590a188066 Use "Object" as the reified type of covariant override parameters.
This ensures the runtime type is of the tear-off expression's static
type, even when accessed through a superclass.

I also moved the two tests into a subdirectory so they are easier to
find. (It is inscrutable to me why we would have a single directory
with 1,868 test files in it.) That involved enabling recursive
directory listing in codegen_test, which exposed a couple of things.

Fix #27484.

R=leafp@google.com

Review-Url: https://codereview.chromium.org/2641543003 .
2017-01-18 14:48:42 -08:00