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
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
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
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
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
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
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
Vijay Menon
5b34e47f40
Fix subtyping check on number
...
language_strong/null_is_test started failing on Konstantin's recent change. Another test started passing.
Does this fix make sense to you guys?
TBR=leafp@google.com ,scheglov@google.com
Review-Url: https://codereview.chromium.org/2638393004 .
2017-01-18 13:27:27 -08:00
Vijay Menon
c83dac537f
Throw TypeError on arg mismatch
...
Improvement on #28286 - this is still not quite right as we'll throw a
TypeError instead of a NSM in certain cases depending on the order.
The spec will only throw a TypeError if NSM doesn't apply.
R=leafp@google.com
Review-Url: https://codereview.chromium.org/2636313002 .
2017-01-17 16:26:22 -08:00
Vijay Menon
f710e7209a
Make ddc legacy loader more defensive
...
This should match what we need internally.
R=alanknight@google.com , jacobr@google.com
Review-Url: https://codereview.chromium.org/2634463002 .
2017-01-13 08:01:56 -08:00
Brian Wilkerson
22f561e914
Reapply "Add support for generic function type syntax, part 1"
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2622303006 .
2017-01-11 14:10:05 -08:00
Brian Wilkerson
85b1e7abbe
Revert "Add support for generic function type syntax, part 1"
...
Review-Url: https://codereview.chromium.org/2624283003 .
2017-01-11 13:30:52 -08:00
Brian Wilkerson
1cd918533d
Add support for generic function type syntax, part 1
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2613383003 .
2017-01-11 13:12:10 -08:00
Vijay Menon
df45dacb88
Fixes #28338
...
Fix await/cascade bug and corresponding test.
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2628053002 .
2017-01-11 12:37:18 -08:00
Vijay Menon
46b7f79fd5
Defer all recursive mixins
...
This defers mixins along with the supertype. It passes Leaf's example on the bug. Will add that as a proper test.
Fixes #28334
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2625913003 .
2017-01-11 10:32:23 -08:00
Vijay Menon
be95523221
Cleanup references to the old DDC repo
...
Reachable issues migrated over.
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2621543004 .
2017-01-10 12:56:29 -08:00
Vijay Menon
33c8f425b6
Disable auto "debugger" call for tests
...
R=jacobr@google.com
Review-Url: https://codereview.chromium.org/2621823002 .
2017-01-09 15:42:42 -08:00
Jacob Richman
badfd146d2
Fix type error in js_dart2js.dart caught by DDC.
...
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2611423002 .
2017-01-09 07:42:49 -08:00
Leaf Petersen
7ab0daeedf
Make EventStreamSubscription DDC safe.
...
EventStreamSubscription.listen does a cast which is only working in
DDC because we're ignoring the failure. This wraps the listener to
check the argument rather than casting the function. Also picks up a
few misc changes to the main SDK that hadn't been merged into DDC.
BUG=
R=jacobr@google.com
Review-Url: https://codereview.chromium.org/2609633002 .
2017-01-09 04:13:36 -08:00
Leaf Petersen
83fc4b6b46
Put a TypeProvider on the TypeSystem implementations.
...
Adding a TypeProvider instance to TypeSystem to avoid needing to
thread it through the various APIs, and to avoid having to change
the API every time a method which previously did not need to
access the TypeSystem suddenly does.
BUG=
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2590883004 .
2017-01-09 02:40:10 -08:00
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
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
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