Jennifer Messerly
5533a256cb
fix #30030 , fix #27327 - fix tearoffs and various Object member bugs
...
this includes various cleanups found along the way:
* various issues with JS annotations, see #30043
* getGenericClass is now optimized when used in a JS builtin with a Type literal
* typed list literals should be slightly faster to create
* memoized getters used by dart:_runtime should be faster
* registerExtension should be a tad faster, and now understands JSArray
* dart.bind "safeName" hack gone in codegenerator
* JSArray<E>.runtimeType returns List<E>
* JSArray<E>.noSuchMethod works
* cleans up code that generates `setExtensionBaseClass` (used only by JSArray)
* _throwUnsafe helper for generating a `throw` in --unsafe compile mode
* fix tearoff of JS interop types (_emitSimpleIdentifier)
* fix TODO about splitting LazyJSType and AnonymousJSType
* fix is/as/cast methods on TypeRep and related classes
* fix codegenerator to not tearoff "hashCode" and "runtimeType" (they are not methods)
* fix NoSuchMethodError.toString() (update via dart2js sdk impl)
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2962263002 .
2017-07-05 14:17:53 -07:00
Vijay Menon
7b766556a1
Update test status
...
See #30075
TBR=rnystrom@google.com
Review-Url: https://codereview.chromium.org/2967193002 .
2017-07-05 10:16:25 -07:00
Vijay Menon
9cbd5bdc2e
Output errors for tests that fail to compile
...
This makes it easier to fix strong mode errors in tests.
R=rnystrom@google.com
Review-Url: https://codereview.chromium.org/2971443002 .
2017-07-05 09:37:14 -07:00
Leaf Petersen
6f73694bb7
Generate better code for '==', core.identical, and dart.test.
...
Avoid falling back to the dart.equal runtime helper where possible based on static types. Also uses JS `==` or `===` in some cases.
Treat core.identical as a compiler intrinsic, based on type.
Make dart.test assume correct types, use dart.dtest for combined cast and nullability check only when required.
Fixes https://github.com/dart-lang/sdk/issues/29851
Fixes https://github.com/dart-lang/sdk/issues/29772
BUG=
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2926613003 .
2017-06-30 15:04:29 -07:00
Bob Nystrom
0b2c9b048d
Dynamically load packages for dartdevc tests in test.dart.
...
This involves a few pieces:
- Add support to DDC for specifying the module name associated with a
given summary. This lets test.dart invoke DDC using summaries in the
build directory outside of the directory containing the test itself.
- Add support to the build scripts for building the packages. This adds
a new GN target that builds everything needed to run test.dart with
dartdevc. In particular, it invokes build_pkgs.dart to compile the
relevant packages to JS+summary so that the tests can use them.
This requires some changes to build_pkgs.dart so it can output to a
given directory.
- In test.dart, when tests are compiled with dartdevc, pass in the
summaries for the packages so they don't get compiled in. Then, when
the test is run, configure require.js with the right paths to their
JS files so they can be loaded.
I also removed a bunch of unneeded buildDir parameters being passed
around the various CompilerConfiguration class methods now that they
have direct access to the configuration.
Fix #29923 .
R=vsm@google.com , whesse@google.com , zra@google.com
Review-Url: https://codereview.chromium.org/2955513002 .
2017-06-29 13:45:57 -07:00
Erik Corry
029b1cb948
Spelling fixes e to i.
...
R=kevmoo@google.com
BUG=
Review-Url: https://codereview.chromium.org/2957593002 .
2017-06-24 13:41:39 +02:00
Vijay Menon
daf960d5a4
Fix Object method tearoffs
...
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2953933002 .
2017-06-22 15:59:45 -07:00
Jennifer Messerly
71c7914061
fix checking of dsend generic type bounds
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2935553002 .
2017-06-12 16:17:39 -07:00
Jennifer Messerly
cb038cda2f
fix test runner to understand mutlitests that expect an error
...
R=rnystrom@google.com , vsm@google.com
Review-Url: https://codereview.chromium.org/2930203002 .
2017-06-12 16:07:17 -07:00
Jennifer Messerly
334354f968
fix #29753 , use ES5 constructors for ddc
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2934623003 .
2017-06-12 15:31:32 -07:00
Vijay Menon
06c4619b3e
Fix int test
...
Fixes #29822
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2927703005 .
2017-06-08 17:42:35 -07:00
Leaf Petersen
cb8cc2526b
Add codegen test for equality.
...
Adds a DDC test tracking the generated code and its correctness. Some
test harness changes to support running codegen tests.
BUG=
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2930733002 .
2017-06-07 12:42:30 -07:00
Jennifer Messerly
99d5344463
fix "unresolved names" code generation
...
now unsafe-force-compile will generate a throw rather than a free floating name
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2920223009 .
2017-06-06 15:53:30 -07:00
Jennifer Messerly
88510c1860
fix #29146 , downgrade import error to warning in strong mode
...
R=brianwilkerson@google.com
Review-Url: https://codereview.chromium.org/2916223002 .
2017-06-01 15:44:30 -07:00
Vijay Menon
75afaf5a24
Support reflectClass on parameterized classes
...
Internal pageloader usage hits this.
R=rnystrom@google.com
Review-Url: https://codereview.chromium.org/2899343004 .
2017-05-25 13:27:35 -07:00
Alan Knight
0bb2d5e548
Update DDC html libraries to match SDK
...
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2899083007 .
2017-05-25 09:33:23 -07:00
Vijay Menon
92d39a4e08
One more minor mixin fix
...
We need to preserve the Mixin constructor to make sure metadata (e.g.,
implements) is injected in the right place.
R=jacobr@google.com
Review-Url: https://codereview.chromium.org/2779063002 .
2017-05-19 07:41:29 -07:00
Vijay Menon
1f94f3dc0a
Fix status for FF
...
TBR=alanknight@google.com
Review-Url: https://codereview.chromium.org/2895543002 .
2017-05-18 19:29:40 -07:00
Vijay Menon
b82b0e29ed
DDC fixes for SpeechRecognition
...
R=alanknight@google.com
Review-Url: https://codereview.chromium.org/2896463002 .
2017-05-18 17:05:51 -07:00
Devon Carew
4afc0aeb73
Fix some analysis issues.
...
BUG=
R=danrubel@google.com
Review-Url: https://codereview.chromium.org/2882003002 .
2017-05-13 16:24:47 -07:00
Vijay Menon
36356c28c1
Better stack trace support
...
- Caches stack trace objects (package:stack_trace appears to rely on this)
- Better support for stack traces on primitives
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2869463002 .
2017-05-09 14:58:34 -07:00
Jennifer Messerly
811a9eed1d
Revert "Revert "fix #27256 , track type bounds for generic functions""
...
This reverts commit 3a23e604e2 .
The problem was unrelated to the CL; it appears to be a dart:async break of package:async.
In the meantime we have turned on --unsafe-force-compile to DDC's shapshotting step
Review-Url: https://codereview.chromium.org/2869733006 .
2017-05-09 14:20:25 -07:00
Alan Knight
3a23e604e2
Revert "fix #27256 , track type bounds for generic functions"
...
This reverts commit b58f826976 .
BUG=
Review URL: https://codereview.chromium.org/2870543005 .
2017-05-09 12:58:03 -07:00
Jennifer Messerly
b58f826976
fix #27256 , track type bounds for generic functions
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2867493002 .
2017-05-09 11:42:40 -07:00
Jennifer Messerly
171f7ba592
fix #29544 , mixins to a class with named constructors
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2859703003 .
2017-05-04 12:33:45 -07:00
Jennifer Messerly
6ab17db3da
fix more mixin tests to work in strong mode
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2861783002 .
2017-05-04 11:30:14 -07:00
Jennifer Messerly
eeb0e1d2ae
fix #27258 , don't allow dynamic set of a final field
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2847893002 .
2017-05-01 15:36:32 -07:00
Erik Corry
aa6353b6da
Dart SDK Spelling b, c, and d.
...
R=kmillikin@google.com
BUG=
Review-Url: https://codereview.chromium.org/2850783002 .
2017-05-01 08:28:10 +02:00
Vijay Menon
334373b1dc
Temporarily disable overlapping summary check
...
Turning this off to unblock the current roll. We'll try flipping the
flag internally and shaking out the last violators.
R=keertip@google.com
Review-Url: https://codereview.chromium.org/2853543002 .
2017-04-28 11:08:05 -07:00
Jennifer Messerly
d26bb56575
fix #27971 , implement generic function RTTI
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2832913003 .
2017-04-21 15:40:44 -07:00
Jennifer Messerly
bed6f8242a
add an option to turn off errors from strong mode is-checks
...
This adds an option and also has our tests run with it turned off.
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2835743002 .
2017-04-21 15:24:32 -07:00
Jacob Richman
7149b90c7c
Tighten up handling of JS types and add test.
...
Side effect of this:
Fix bug where helpers in js_mirrors were specifying that name had to have type String when it could really also be a JS Symbol as well.
Fix bug where top level JS interop members using the external keyword but no @JS keyword were not implemented.
Update js_typed_interop_test.dart so it can work in DDC.
Add regression test for jsify call with native function type arguments.
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2827333003 .
2017-04-21 08:44:00 -07:00
Vijay Menon
21c38e6c8c
Various DDC fixes for windows
...
This gets most tests compiling and running on Windows.
Fixes #27450
Fixes #27797
Fixes #28752
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2833633002 .
2017-04-20 11:30:57 -07:00
Vijay Menon
a3d2e49198
Revert "Revert "Report error if the same uri appears in multiple summaries.""
...
Relanding after fixing package_bundle_reader_test.dart.
Note, original CL (already reviewed here: https://codereview.chromium.org/2781483007/ ) is patch set 1.
Test fix is patch set #2 .
R=brianwilkerson@google.com
Review-Url: https://codereview.chromium.org/2825503002 .
2017-04-17 10:11:21 -07:00
Vijay Menon
dcdccf4750
Revert "Report error if the same uri appears in multiple summaries."
...
This reverts commit 2afa21bb2c .
Breaking the bots.
TBR=jmesserly@google.com
BUG=
Review-Url: https://codereview.chromium.org/2821933002 .
2017-04-17 08:07:36 -07:00
Vijay Menon
2afa21bb2c
Report error if the same uri appears in multiple summaries.
...
Fixes #27025
R=brianwilkerson@google.com , jmesserly@google.com
Review-Url: https://codereview.chromium.org/2781483007 .
2017-04-17 07:32:59 -07:00
Jennifer Messerly
b76e2d67cf
fix #29346 , ensure all nodes are implemented by DDC's code generator
...
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2822633003 .
2017-04-14 10:10:50 -07:00
Vijay Menon
1975c8431a
Migrate async tests to strong
...
No modifications to the actual tests
R=rnystrom@google.com
Review-Url: https://codereview.chromium.org/2802973005 .
2017-04-07 12:46:12 -07:00
Vijay Menon
5c3bcff375
DDC fix for foreign futures
...
Fixes #29287
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2804113002 .
2017-04-06 14:52:59 -07:00
Jennifer Messerly
e4e7dffadb
fix #29182 , generate top level const fields lazily
...
This fixes an ordering issue, but also may help load time.
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2797443007 .
2017-04-04 16:18:46 -07:00
Peter von der Ahé
4827ac4f38
Remove references to renamed test.
...
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2790893002 .
2017-04-04 09:51:29 +02:00
Jacob Richman
509bcd58e1
Fix type checks and display for JS interop types.
...
Re-enable formatter test that had been disabled when someone changed type
name display for Foo<dynamic> types.
Fix bug in how type names were displayed for JS interop types.
BUG=
R=vsm@google.com
Review-Url: https://codereview.chromium.org/2789663005 .
2017-04-03 08:34:20 -07:00
Vijay Menon
46d6c56c96
Fix ddc async test code
...
Fortunately, not too many false passes.
R=jacobr@google.com
Review-Url: https://codereview.chromium.org/2792703002 .
2017-03-31 15:57:08 -07:00
Vijay Menon
466d4ffb9c
Add runtime tests for ignored checks
...
Tests for https://codereview.chromium.org/2788933002/
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2789933002 .
2017-03-31 13:31:59 -07:00
Jacob Richman
a7465d942f
Update test expectations to reflect errors that are now warning.
...
BUG=
Review-Url: https://codereview.chromium.org/2785183003 .
2017-03-30 14:54:35 -07:00
Konstantin Shcheglov
cf25e7f5cb
Fix top-level inference errors for most of the newly failing tests.
...
Update analyzer status files and DDC expections.
R=brianwilkerson@google.com
BUG=
Review-Url: https://codereview.chromium.org/2779843004 .
2017-03-28 12:16:09 -07:00
Jennifer Messerly
1c504f8945
Fix #28120 , strong mode allows field overrides
...
Fix #28119 , DDC supports field overrides without @virtual
Fix #28801 , devirtualize private fields in DDC where possible
Fix #28589 , stop supporting @virtual in strong mode
R=leafp@google.com , vsm@google.com
Review-Url: https://codereview.chromium.org/2781443003 .
2017-03-28 10:26:36 -07:00
Konstantin Shcheglov
27ab6478b9
Report errors for the new top-level inference rules.
...
We also stop type inference most of these cases with task based analysis.
Summary based analysis is not changed yet.
R=brianwilkerson@google.com
BUG=
Review-Url: https://codereview.chromium.org/2782533002 .
2017-03-28 09:41:04 -07:00
Vijay Menon
50ceaa4c04
Fix for #29003
...
This is an alternative to the other CL. It just uses the result of
dart.mixin instead of declaring a new class. That preserves the assumption (at least at runtime) that the mixin class directly inherits from Object.
We were also not declaring interfaces for ClassTypeAliases.
R=jmesserly@google.com
Review-Url: https://codereview.chromium.org/2783443002 .
2017-03-27 16:06:13 -07:00
Vijay Menon
ac68d598cf
Add patch code for List.filled growable param
...
Looks like a missing param doesn't break patch_sdk. I think this was a recent add.
Fixes #28508
R=jakemac@google.com , jmesserly@google.com
Review-Url: https://codereview.chromium.org/2771953004 .
2017-03-24 14:27:47 -07:00