Harry Terkelsen
1fcbe23b8f
Fix issue in resolving annotations that refer to annotated types
...
Change-Id: Ifcef137ec51e26d3e1a2505fd4845fe63f670318
Reviewed-on: https://dart-review.googlesource.com/38181
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Harry Terkelsen <het@google.com >
2018-02-02 18:14:37 +00:00
Sigmund Cherem
3b6d39cc2c
Correctly defer typedef references
...
Change-Id: I61fb5ebb399dcfca5193b7ae870badc10add23e5
Reviewed-on: https://dart-review.googlesource.com/37880
Reviewed-by: Emily Fortuna <efortuna@google.com >
Commit-Queue: Sigmund Cherem <sigmund@google.com >
2018-01-31 21:10:29 +00:00
Dan Rubel
ec7435945d
Remove findMemberName from parseTopLevelMember
...
This CL refactors parseTopLevelMember so that it does not scan ahead
using findMemberName. This is the next step in removing findMemberName
to improve top level declaration recovery.
Change-Id: I4d949f72cba5618541448c08e1756bf45a4d1762
Reviewed-on: https://dart-review.googlesource.com/37680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-01-31 12:04:56 +00:00
Johnni Winther
abaabd4773
Remove unneeded RuntimeTypeChecks object
...
Change-Id: Ia0d7e842edff4694a74a6d3e43c3c912093c3e9b
Reviewed-on: https://dart-review.googlesource.com/37520
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2018-01-31 08:00:31 +00:00
Leaf Petersen
991753313f
Remove deep future flattening from analyzer and DDC
...
Change-Id: Ic48f29adec3a46744b259ba5b2b8ad7d97caa6c2
Reviewed-on: https://dart-review.googlesource.com/37424
Reviewed-by: Jenny Messerly <jmesserly@google.com >
2018-01-30 18:11:11 +00:00
Johnni Winther
9b0d9a2882
Track type variable tests through generic method invocations.
...
Change-Id: Ibb4fdf92ca1085034db5d10c3f10b46f60c70c16
Reviewed-on: https://dart-review.googlesource.com/36941
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-29 09:20:02 +00:00
Johnni Winther
f0b5e3466a
Refactor collection and printing features for annotations.
...
Change-Id: Ib1c1790d883acd51c690237fd4d3374d6e0b92e5
Reviewed-on: https://dart-review.googlesource.com/36740
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-29 08:30:11 +00:00
Johnni Winther
20e363f4b9
Ensure signature functions for --disable-rti-optimization
...
- and cleanup/refactor RuntimeTypesChecks(Builder).
Closes #28894
Change-Id: I8d4cd808411532cce6b28c2f233cc4086de6b100
Reviewed-on: https://dart-review.googlesource.com/35982
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-29 08:06:51 +00:00
Johnni Winther
09bb73427e
Compute implicit is-tests more precisely.
...
Closes #21969
Change-Id: If446df1e1ae4cdfb4d32580abb7f12fb213d678c
Reviewed-on: https://dart-review.googlesource.com/35865
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-26 22:26:17 +00:00
Johnni Winther
588a60f15b
Add test for needed runtime checks
...
This is added as a precursor to
https://dart-review.googlesource.com/c/sdk/+/35865 to detect to an error
in dart2js_extra/inline_generic_test/04 otherwise introduced.
Change-Id: I25e475709ee821d01694904ef0cade8100b7548b
Reviewed-on: https://dart-review.googlesource.com/36640
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-26 21:51:41 +00:00
Lasse R.H. Nielsen
87e7861ec8
Make Expect.throws not accept an expectation error as a throw.
...
Some small clean-up, and fixing one test that relies on the changed behavior.
Change-Id: Ibfed0c41c3121f2dc13a0d67b7534693165eb5e2
Reviewed-on: https://dart-review.googlesource.com/36620
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2018-01-25 13:24:03 +00:00
Siva Annamalai
5f5bba2a74
Normalize status files.
...
Allow void as a type.
Change-Id: Ia94c50bcc2e4023008da1dad60cdbfc3465d936b
Change-Id: Ibe7d394cf92e6bb45e06770329da857bcb2c84b0
Reviewed-on: https://dart-review.googlesource.com/36127
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
2018-01-20 23:02:08 +00:00
Johnni Winther
08cac02761
Mark dummy_compiler_test, recursive_import_test as slow on any runtime
...
Change-Id: I04fd0452e9873026050af94e966148ed793b0b70
Reviewed-on: https://dart-review.googlesource.com/36100
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2018-01-19 23:32:37 +00:00
Harry Terkelsen
2305d7aea1
Fix bug in resolution caused by unresolved fields in annotations
...
Fixes #31803
Change-Id: Id50713281934bf51f8684c3acf5936edd48e33e4
Reviewed-on: https://dart-review.googlesource.com/35464
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Emily Fortuna <efortuna@google.com >
Commit-Queue: Harry Terkelsen <het@google.com >
2018-01-19 23:24:47 +00:00
Johnni Winther
2c405fe8fc
Fix testing strong mode only equivalence tests.
...
Change-Id: I982472056fc79dac27b2638bd006ad4e1dbc1920
Reviewed-on: https://dart-review.googlesource.com/35640
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-19 22:44:21 +00:00
Johnni Winther
ffd18a37ef
Track type arguments of static and dynamic calls
...
- and use these to optimize for type argument need on instance
methods and closurized static methods.
Change-Id: Id41d8f8aa7639da15fbd24844e397a4524b6ed20
Reviewed-on: https://dart-review.googlesource.com/35261
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-19 22:31:37 +00:00
Johnni Winther
4a82a4fbf5
Ensure type variables in initializers.
...
Closes #31715
Change-Id: I45b28b8e42d5246eab0e354506630b7109db0ca1
Reviewed-on: https://dart-review.googlesource.com/36002
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-19 22:23:57 +00:00
Sigmund Cherem
7e78f0a952
Update more dart2js .status files
...
This covers legacy mode, but using fasta.
Change-Id: I7af9518d8a69512012400f6215d0195fb6069e51
Reviewed-on: https://dart-review.googlesource.com/36060
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-19 20:41:47 +00:00
Sigmund Cherem
bc22c3e050
Fix custom-loader test: use JS instead of native.
...
This makes it possible to run the test with --use-kernel.
Change-Id: Ie992ae0fe557169d44d0873e3d44b89c2aca5292
Reviewed-on: https://dart-review.googlesource.com/35812
Reviewed-by: Emily Fortuna <efortuna@google.com >
Commit-Queue: Sigmund Cherem <sigmund@google.com >
2018-01-18 23:50:54 +00:00
Johnni Winther
73e35eb035
Update RTI optimization to handle type literal uses
...
... for generic methods and local function. Also update capture
conversion to recognize the new kinds of type variables.
Change-Id: I9b8771b0ebe6c9e926712fa31b0bdea966cc6a25
Reviewed-on: https://dart-review.googlesource.com/34600
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Emily Fortuna <efortuna@google.com >
2018-01-17 15:12:55 +00:00
Erik Corry
5ed2f25f40
There is no longer a safarimobilesim test runtime.
...
And so there is no need to maintain status files for this platform.
R=whesse@google.com
Change-Id: Ie70e4b7308cfd9b1b179b2d1eeeb8f36dd1a62dc
Reviewed-on: https://dart-review.googlesource.com/34824
Commit-Queue: Erik Corry <erikcorry@google.com >
Reviewed-by: William Hesse <whesse@google.com >
2018-01-17 13:13:17 +00:00
Johnni Winther
99feac38cc
Move unittests
...
Change-Id: I23972b65cd839b9e535e4c483312c0e66b43d374
Reviewed-on: https://dart-review.googlesource.com/34820
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-17 10:29:16 +00:00
Johnni Winther
94fc11388a
Port inference tests, #5 of 5
...
Change-Id: I384056289dfa99991aa42fbe0baadedc6c208b6f
Reviewed-on: https://dart-review.googlesource.com/34586
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-17 10:19:53 +00:00
Sigmund Cherem
0e1a407823
Produce a static error when using kernel and mirrors
...
Just noticed that the 'supportsRelection' flag was not checked when running with
'--use-kernel'.
Change-Id: I9f4bd540ad963c33c8b9013860ac63b1c6707299
Reviewed-on: https://dart-review.googlesource.com/35006
Reviewed-by: Harry Terkelsen <het@google.com >
Commit-Queue: Sigmund Cherem <sigmund@google.com >
2018-01-17 00:56:12 +00:00
Sigmund Cherem
96f915faa1
Update status for dart2js-with-kernel after disabling int64 in dart2js
...
TBR=sra@google.com
Change-Id: I3e13493ba619fb16ed9731fc85fc14938022ef59
Reviewed-on: https://dart-review.googlesource.com/35000
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Sigmund Cherem <sigmund@google.com >
2018-01-16 22:30:04 +00:00
Sigmund Cherem
0c04eb53c7
Disable int64 when running dart2js
...
The goal is to renable it as soon as we migrate our constant-evaluator and
constant folding to use Bigint.
Change-Id: I3bba1bbe07517e9cb496896b3417f58173878d62
Reviewed-on: https://dart-review.googlesource.com/34302
Commit-Queue: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
2018-01-16 19:52:22 +00:00
Johnni Winther
e01081ef03
Split inference tests to avoid timeout
...
Change-Id: I94253b787e9d3356b988fe08115394165823bf52
Reviewed-on: https://dart-review.googlesource.com/34580
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2018-01-15 08:22:13 +00:00
Sigmund Cherem
72c3c8ea61
Several deferred loading improvements:
...
- fix some discrepancies between old and new deferred loading.
* Kernel is now using the correct world impact
* For the old FE, I'm more careful about avoiding metadata nodes when mirros
are disabled as well.
* Better approximate when a constant is deferred in the kernel codegen
- make 'dump()' independent of the IR, so we can easily compare them side by
side.
- exclude primitives in kernel since we don't need to track them. I
didn't change the old front end because it is not as easy to do. I did this
change because kernel was processing many more constants than the old frontend
(the old frontend skipped constants that were never evaluated, we have no way
to do it selectively like that in the new front end).
Change-Id: I337d3fd818753125476b7390da5d900ebdc02709
Reviewed-on: https://dart-review.googlesource.com/34509
Reviewed-by: Emily Fortuna <efortuna@google.com >
Commit-Queue: Sigmund Cherem <sigmund@google.com >
2018-01-13 01:42:32 +00:00
Harry Terkelsen
93abeeb47e
new test fails in minified because runtimeType is minified
...
Change-Id: Iedb7bf5d022d313ce24e7a630bb74c05e8d65853
Reviewed-on: https://dart-review.googlesource.com/34502
Reviewed-by: Harry Terkelsen <het@google.com >
2018-01-12 22:39:59 +00:00
Johnni Winther
d539c78af1
Add source information to parameter stubs.
...
Change-Id: If942cc13203752361c3104c89190d75979073498
Reviewed-on: https://dart-review.googlesource.com/34440
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-12 21:23:40 +00:00
Harry Terkelsen
33952ad8f6
Add a small repro for dart2js runtime type issue
...
Change-Id: Ibe8720565814dd9f7b7c4ea4370548a64a880f21
Reviewed-on: https://dart-review.googlesource.com/34028
Commit-Queue: Harry Terkelsen <het@google.com >
Reviewed-by: Emily Fortuna <efortuna@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
2018-01-12 21:13:40 +00:00
Stephen Adams
87e5a57b9a
Fix dart2js_extra/string_interpolation tests
...
Old dart2js behaviour is incorrect.
Fasta behaviour is correct as recently specified.
See https://github.com/dart-lang/sdk/issues/30909 for details
Bug:
Change-Id: Ie9b24d19cab81be764cec02baa327283f4a3b3ce
Reviewed-on: https://dart-review.googlesource.com/34225
Commit-Queue: Stephen Adams <sra@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-12 19:21:19 +00:00
William Hesse
63511838dd
Update status for failing local function test on dart2js
...
Bug: https://github.com/dart-lang/sdk/issues/31879
Change-Id: I141e2ef9c4cc40796d3b3198e4183a1c05f0b063
TBR=johnniwinther@google.com
Reviewed-on: https://dart-review.googlesource.com/34382
Reviewed-by: William Hesse <whesse@google.com >
2018-01-12 14:01:01 +00:00
Johnni Winther
7568a4e4ce
Don't register closure call methods
...
- closed world is incomplete anyway; we're missing the call methods from static and instance tear-off.
Change-Id: Ibd3fc9d80220bef3ee651bf529a487b617de7a6b
Reviewed-on: https://dart-review.googlesource.com/34144
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-12 11:47:18 +00:00
Johnni Winther
107f611d4e
Support --disable-rti-optimization for --use-kernel
...
Change-Id: I47e1301629f068c12bd5ef898323fc86804bf4a0
Reviewed-on: https://dart-review.googlesource.com/34160
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-12 11:37:49 +00:00
Johnni Winther
e6363dd1bb
Add tests showing the bad inference on .call
...
Change-Id: I939de4485a81d5a21f89088e91e6ae8eed648646
Reviewed-on: https://dart-review.googlesource.com/33941
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-12 11:29:43 +00:00
Johnni Winther
c7447281f7
Handle type argument to instance members.
...
Change-Id: I40404d2f6da74cbaed68e23bc2fab0ebfb3e2cc8
Reviewed-on: https://dart-review.googlesource.com/33724
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-11 08:13:28 +00:00
Johnni Winther
06e6f4d105
Add --disable-rti-optimization flag
...
- to separate rti implementation correctness from optimization soundness.
Change-Id: I0786dd45261d6f8cf1380f016bfb7c6f773df6b1
Reviewed-on: https://dart-review.googlesource.com/33880
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-11 07:56:56 +00:00
Stephen Adams
f756c5e71d
Print names for generic method type parameters in function type
...
- Added JS_GET_FLAG('STRONG_MODE') allow the code to be tailored to
the type system version.
- Split type stringifying code into V1 (existing logic) and V2
(strong mode Dart 2.0 logic).
The V1 code will eventually be deleted.
Change-Id: I78db91796040b6ecfa1bd5d6a9d64bd4c2bc4bcf
Reviewed-on: https://dart-review.googlesource.com/33680
Commit-Queue: Stephen Adams <sra@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2018-01-10 21:00:48 +00:00
Leaf Petersen
5aea404159
Hide new core lib MapEntry class where it conflicts in kernel, and
...
suppress a hint on undefined imported name to make it backwards
compatible.
Bug:
Change-Id: I9c92adcf685248fb8aae9da39c008968768ad29b
Reviewed-on: https://dart-review.googlesource.com/33662
Reviewed-by: Paul Berry <paulberry@google.com >
2018-01-10 01:59:48 +00:00
Leaf Petersen
116ecdcf11
Hide new core lib MapEntry class where it conflicts in fasta, and
...
suppress hints about the undefined name for backwards compatibility.
Bug:
Change-Id: I381af6a8ae5be040e3c149e0cf4b9d45faa8c630
Reviewed-on: https://dart-review.googlesource.com/33663
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Leaf Petersen <leafp@google.com >
2018-01-10 01:20:21 +00:00
Johnni Winther
966168ba67
Pass type arguments to dynamic calls
...
This only works for inlining of dynamic methods. Stubs are not created yet.
Change-Id: Ia138117d503b69774984ce9070a3298b87fdbe78
Reviewed-on: https://dart-review.googlesource.com/32766
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-09 13:44:37 +00:00
Johnni Winther
ab636dfbd1
Reenable warnings/hints for method type variables in dart2js
...
Change-Id: I09662afc8b1a4e8c9fdbfe2e342e80ea58351593
Reviewed-on: https://dart-review.googlesource.com/32060
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
2018-01-08 12:48:02 +00:00
Johnni Winther
8e8915f538
Support generic closures in rti analysis
...
Change-Id: I1d393cff5b83f8db69e7bddb8ecfcd4a5205854f
Reviewed-on: https://dart-review.googlesource.com/32700
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-08 11:36:40 +00:00
Johnni Winther
b11cf5e3b5
Support class data in equivalence test
...
Change-Id: I084af2503ba783de4280f520c5a3000f0b84abe7
Reviewed-on: https://dart-review.googlesource.com/32560
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-08 10:38:55 +00:00
Johnni Winther
966986947b
Port inference tests, part #4 of 5
...
Change-Id: Id4686f1e9673a5c7af3747584c9a59463b770e0f
Reviewed-on: https://dart-review.googlesource.com/32760
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-08 08:35:56 +00:00
Johnni Winther
00b083bafc
Port inference tests, part #3 of ?
...
Change-Id: Ib4b9650c94b2302f68272d18601c97cd4685e03e
Reviewed-on: https://dart-review.googlesource.com/32543
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-08 08:28:38 +00:00
Johnni Winther
de3f4f5e95
Port inference tests, part #2 of ?
...
Change-Id: Ia9012f278824ae2a7b069ecdcabc50c7dfbde40d
Reviewed-on: https://dart-review.googlesource.com/32340
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-08 08:09:44 +00:00
Sigmund Cherem
497d592ac7
Fixes for deferred constants in the kernel pipeline.
...
The constant collector was inconsistent with the old frontend: we were
skipping primitives and we were not going into the body of closures.
Change-Id: I3321426da7e684d203f0ac7a2a2c7028f3138a7b
Reviewed-on: https://dart-review.googlesource.com/32663
Commit-Queue: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Emily Fortuna <efortuna@google.com >
2018-01-05 23:37:58 +00:00
Harry Terkelsen
b8b69b1bd9
dart2js-kernel: fix switch with always-throwing method call
...
Change-Id: I8884207f05ba8cf0a2841f21b1a0e8189ebe14d4
Reviewed-on: https://dart-review.googlesource.com/32662
Commit-Queue: Harry Terkelsen <het@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Emily Fortuna <efortuna@google.com >
2018-01-05 21:48:28 +00:00