Johnni Winther
9bf7fc9130
Add test of index operations
...
Change-Id: I34e5cf8ba7bdd38a2b4094c71bc0e71c4a68c613
Reviewed-on: https://dart-review.googlesource.com/13802
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-23 08:26:43 +00:00
Johnni Winther
222af2dd08
Compute side effects during inference.
...
Change-Id: Iad5567cb76c8725b19446b6a802e6e704d42e99e
Reviewed-on: https://dart-review.googlesource.com/13800
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-23 07:37:18 +00:00
Johnni Winther
b2e7058747
Specialize list constructors in inferrer
...
+ handle native methods and js-interop constructors
Change-Id: I901301bf6d4926e6ecb1e427e3d16e512d888aab
Reviewed-on: https://dart-review.googlesource.com/13722
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-23 07:29:51 +00:00
Emily Fortuna
ba3cc12592
Entity-ify trustType in type_builder.
...
Bug:
Change-Id: Ie58b98f5a23268e97d2730f4f694d125ae9baf93
Reviewed-on: https://dart-review.googlesource.com/15060
Reviewed-by: Stephen Adams <sra@google.com >
2017-10-19 17:15:20 +00:00
Harry Terkelsen
f36b1f49d6
Only set model.scopeInfo for the outer member, not nested closures
...
Change-Id: I848e18e1000158b4a198782227bfb2524104e805
Reviewed-on: https://dart-review.googlesource.com/14700
Reviewed-by: Emily Fortuna <efortuna@google.com >
2017-10-18 21:00:06 +00:00
Emily Fortuna
2b33f79dd1
Update localsMap when inlining or looking at super constructors.
...
Bug:
Change-Id: I60b2d0d87d84901817d7d03b685a068c9d2f6100
Reviewed-on: https://dart-review.googlesource.com/14621
Commit-Queue: Emily Fortuna <efortuna@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
2017-10-18 17:58:32 +00:00
Emily Fortuna
af3bbc194b
Fix up dart2js argument passing of 'platform-binaries' so that it actually recognizes the flag.
...
Bug:
Change-Id: I632dc8ea1e1c145cbb93a8cb7ba061c0d2ebc948
Reviewed-on: https://dart-review.googlesource.com/14508
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Emily Fortuna <efortuna@google.com >
2017-10-17 21:02:31 +00:00
Peter von der Ahé
6cc2014b3d
Fix computePlatformBinariesLocation for Windows.
...
Change-Id: Ic64e9c7a10923fe2e3f99ef708c2f19bb9ae802e
Reviewed-on: https://dart-review.googlesource.com/14420
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2017-10-17 12:46:10 +00:00
Peter von der Ahé
b96ac4520a
Update most clients to use computePlatformBinariesLocation.
...
Change-Id: I6e6960c471b2fab3f0cd8a672da05d7699217410
Reviewed-on: https://dart-review.googlesource.com/12291
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-17 10:48:40 +00:00
Emily Fortuna
e3d0a7093c
Test TypeVariables in isTest correctly (and non-type variables) in Kernel.
...
Bug:
Change-Id: I624e7a111841bcab77d370163ac21d2c5cc3010a
Reviewed-on: https://dart-review.googlesource.com/13681
Reviewed-by: Stephen Adams <sra@google.com >
2017-10-14 00:20:44 +00:00
Harry Terkelsen
cbfb3b642d
Treat async-for-in statements as if they are wrapped in a try-finally
...
Change-Id: Ide40e69f93db199e2b452a4ee5acbbabe331bcbf
Reviewed-on: https://dart-review.googlesource.com/13921
Reviewed-by: Stephen Adams <sra@google.com >
Reviewed-by: Emily Fortuna <efortuna@google.com >
2017-10-13 22:19:46 +00:00
Johnni Winther
f80860ddbd
Track exposure of this in inferrer
...
Change-Id: I07d899ed59fd28ffe258c518743c66aa20fa0540
Reviewed-on: https://dart-review.googlesource.com/13480
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-13 07:50:35 +00:00
Brian Wilkerson
a22c8dc958
Recover when enum constants have metadata
...
Change-Id: I1432c3b2d4ce63c5520087c79dd33e48c57cee5b
Reviewed-on: https://dart-review.googlesource.com/13102
Reviewed-by: Peter von der Ahé <ahe@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2017-10-12 20:50:31 +00:00
Johnni Winther
99af2fef35
Handle initializers in inferrer.
...
Change-Id: I0f21682448da8e427a73b849c8e6c8cc523c8201
Reviewed-on: https://dart-review.googlesource.com/12940
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-12 08:08:03 +00:00
Johnni Winther
0daecdf552
Skip captured variables in refinement.
...
Change-Id: Iad54833db0dbdc683790fccec3dca4f5cf435657
Reviewed-on: https://dart-review.googlesource.com/12442
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-12 07:59:13 +00:00
Sigmund Cherem
606e8502f8
fix recovery on ||= and &&= in dart2js
...
Bug: https://github.com/dart-lang/sdk/issues/31061
Change-Id: I3f8667d5dab92d256122484a6fc83b3527228085
Reviewed-on: https://dart-review.googlesource.com/12760
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2017-10-11 22:37:17 +00:00
Harry Terkelsen
d62eb05435
Search for members in superclasses when searching for a class member
...
This changes 'hasConcreteMatch' to search the superclass chain in the
kernel implementation. This matches what the Element model does.
Change-Id: I6a0ab69bc7e6fe705139d6fa69fffc2346582702
Reviewed-on: https://dart-review.googlesource.com/12843
Commit-Queue: Harry Terkelsen <het@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2017-10-11 22:07:11 +00:00
Paul Berry
7df0fb6c28
Add type propagation support for conditional expressions.
...
This required adding a few extra parser events to allow the type
propagator to update its state when the `?` and `:` are encountered
(similar to what was done for `if`).
Fixes #30620 .
Change-Id: I0d3ede8056fd8bab01ead5b242d00803286c9373
Reviewed-on: https://dart-review.googlesource.com/13182
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-10-11 20:21:22 +00:00
Emily Fortuna
a40fd8b507
Fixed up JS Interop, correct "native" detection, and made HN angular app run!
...
Bug:
Change-Id: Iea339d62d891661d6d1415424b12ac3f914b046e
Reviewed-on: https://dart-review.googlesource.com/12460
Commit-Queue: Emily Fortuna <efortuna@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2017-10-10 18:26:54 +00:00
Sigmund Cherem
ec49b67b19
Split init.metadata by deferred chunk
...
Bug: http://dartbug.com/30002
Change-Id: I532f122a9b10054a51e40c49b3759c0af471370e
Reviewed-on: https://dart-review.googlesource.com/9140
Commit-Queue: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Florian Loitsch <floitsch@google.com >
2017-10-09 19:41:15 +00:00
Harry Terkelsen
954aa98da5
Use the RHS as the return value for super set exprs
...
Change-Id: If456ee64873354cd0cfb61024982e35ce5e97149
Reviewed-on: https://dart-review.googlesource.com/12241
Commit-Queue: Harry Terkelsen <het@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-09 18:53:55 +00:00
Peter von der Ahé
2080faff8c
Remove stale references to patched_dart2js_sdk/platform.dill.
...
Change-Id: I8b7b4274ef64f0b6f6c5a31ba654e8fb44843161
Reviewed-on: https://dart-review.googlesource.com/12283
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2017-10-09 14:36:55 +00:00
Johnni Winther
da3eff3cbf
Handle if-null and conditional access in inferrer
...
- including refinement of locals
Change-Id: I0a77f406ae734fc7823832e1835a8454c975cc85
Reviewed-on: https://dart-review.googlesource.com/12140
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-06 20:49:16 +00:00
Johnni Winther
a6bc13adb9
Refine locals in inferrer.
...
Change-Id: I3d43f739e680bba7b08f0cf004745a03e52c2f30
Reviewed-on: https://dart-review.googlesource.com/11923
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-06 20:14:51 +00:00
Johnni Winther
a39a5729b2
Handle optimizer hints in inferrer.
...
Change-Id: I2daac411c59a491a8860e6bfc1c85a653816d411
Reviewed-on: https://dart-review.googlesource.com/11920
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-06 20:05:38 +00:00
Johnni Winther
9e1532121e
Handle await, await for, and yield in inferrer.
...
Change-Id: Idd3c86a095493ca37997388f4e531d7cb5e0a772
Reviewed-on: https://dart-review.googlesource.com/11900
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-06 19:59:24 +00:00
Harry Terkelsen
f690f6225e
Use the validating constructor when creating a Symbol.
...
Change-Id: Iae150ad036f8a72dcc853b86ecd01c569d28bd0b
Reviewed-on: https://dart-review.googlesource.com/11963
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-06 19:54:47 +00:00
Peter von der Ahé
fa08584fe6
Pass dart2js verbose flag to Fasta.
...
Change-Id: I96cae3c752dd42888108d0893f1200aa06da8f4b
Reviewed-on: https://dart-review.googlesource.com/11660
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2017-10-06 15:35:43 +00:00
Peter von der Ahé
16aa720d27
Remove compiling platform.dill from patch_sdk.dart
...
This separates compiling platform.dill files from the patch_sdk.dart
script. The motivation for that is that I'm working on reading patch
files directly from Fasta, so we can completely remove the build step
for generating patched_sdk and dart2js_patched_sdk.
Short-term this should allow Paul to add a strong-mode version of
platform.dill without causing to many conflicts with my work on
patches.
Change-Id: I1150845b2986348d4fffe27092701d8a9b57ea54
Reviewed-on: https://dart-review.googlesource.com/11506
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2017-10-06 15:34:37 +00:00
Harry Terkelsen
52208dd84d
Report error if const constructor has a non-const field
...
Change-Id: Ifa3a000210752a1ec389b28c290900d05244fee5
Reviewed-on: https://dart-review.googlesource.com/11243
Commit-Queue: Harry Terkelsen <het@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2017-10-05 19:53:26 +00:00
Johnni Winther
02d63285ab
Handle switch in inferrer
...
Change-Id: I4e226b1bf15d3fdcd04edba08433298f0b2147e3
Reviewed-on: https://dart-review.googlesource.com/11060
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-05 08:45:23 +00:00
Johnni Winther
42c6bea376
Handle break, continue and labeled statements in inferrer
...
Change-Id: I16968260e774c9cb8a002fd1f027dcef2db605fe
Reviewed-on: https://dart-review.googlesource.com/10882
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-05 08:19:13 +00:00
Johnni Winther
d2bb9ed06c
Handle asserts in inferrer
...
Change-Id: If0d5eb8a15d5378a05a269aef976c914c21bb517
Reviewed-on: https://dart-review.googlesource.com/11000
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-05 07:50:19 +00:00
Johnni Winther
693cce1387
Handle as and rethrow in inferrer
...
Change-Id: I2528939c8e76e4445a434e48967187666356a049
Reviewed-on: https://dart-review.googlesource.com/10881
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-05 07:33:51 +00:00
Johnni Winther
85e77d5a8c
Remove Rasta and friends
...
Change-Id: Ifb14444673c31f4e337fd4d3a2639938fc9e68dc
Reviewed-on: https://dart-review.googlesource.com/11040
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-05 07:03:55 +00:00
Johnni Winther
717b5aac61
Remove --use-kernel-in-ssa option
...
Change-Id: I3bfc78903cbdb6b15f428bd32d8074b5b9eb5156
Reviewed-on: https://dart-review.googlesource.com/10862
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-05 06:54:16 +00:00
Dan Rubel
efeaa0eab3
Class header recovery
...
This updates the fasta parser to handle out of order clauses
in the class header similar to analyzer.
Also:
* Fix parseTopLevelDeclaration in parser test proxy
* Fix parseStuff to correctly update token stream
* Extract skipUnexpectedTokenOpt
Change-Id: Ic20c0ab1355e866aa241c591ceeada390890c46a
Reviewed-on: https://dart-review.googlesource.com/9880
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2017-10-04 21:33:09 +00:00
Emily Fortuna
0eca8a1748
Add RTI while walking closure info.
...
Bug:
Change-Id: If1b33706d3b7a784f292a9f133779109109d8d25
Reviewed-on: https://dart-review.googlesource.com/8321
Commit-Queue: Emily Fortuna <efortuna@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-04 19:24:31 +00:00
Sigmund Cherem
64fa2ad383
Delete the lazy emitter
...
Change-Id: I6aff22c1106ee03604c888226e961e208b621de4
Reviewed-on: https://dart-review.googlesource.com/10802
Reviewed-by: Emily Fortuna <efortuna@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2017-10-04 19:23:55 +00:00
Johnni Winther
9f9b7bf520
Handle super get/set/invoke in inferrer
...
Change-Id: I4c3cd2ae4d99abb4de4edffc644e646f6eeca029
Reviewed-on: https://dart-review.googlesource.com/10460
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-04 08:07:46 +00:00
Johnni Winther
8b96d1be59
Handle throw and enums
...
Change-Id: If7a957630f50a225422aaa233e3cb3ef2a005025
Reviewed-on: https://dart-review.googlesource.com/10400
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-04 07:52:42 +00:00
Johnni Winther
6f24e3d7db
Handle static get/set in inferrer
...
Change-Id: I12566847ba34abfac8550a2ffd5df4a730a8644c
Reviewed-on: https://dart-review.googlesource.com/10360
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-04 07:31:27 +00:00
Harry Terkelsen
9e1bb63a2f
Report invalid symbol constructor invocations
...
Change-Id: I03fe476639414969b831e93ed3461445cca89156
Reviewed-on: https://dart-review.googlesource.com/10801
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Harry Terkelsen <het@google.com >
2017-10-03 23:43:02 +00:00
Sigmund Cherem
d96b29378a
Delete use of rasta and dartk from perf.dart scripts.
...
Change-Id: Id8cd7f01c68dbcb6f814ef51627a2f4b377f6819
Reviewed-on: https://dart-review.googlesource.com/9790
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Sigmund Cherem <sigmund@google.com >
2017-10-03 23:12:21 +00:00
Harry Terkelsen
dfb71004c7
Register seen classes as part of the impact.
...
This allows us to construct the class hierarchy from the impact results.
Change-Id: Id10a197eb80e60d5e25e093ffdadf8d0af092ecf
Reviewed-on: https://dart-review.googlesource.com/10208
Commit-Queue: Harry Terkelsen <het@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2017-10-03 21:36:33 +00:00
Brian Wilkerson
b4d179e58a
Recover from missing identifiers
...
Change-Id: I3c7a908449861eeed0915c4d74b10f4d1e46fde4
Reviewed-on: https://dart-review.googlesource.com/7558
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2017-10-03 13:41:02 +00:00
Florian Loitsch
c0145281c0
Use function.name, instead of copying it into a new property.
...
This relands https://dart-review.googlesource.com/c/sdk/+/8221 with a small fix in the emitter.
Change-Id: I49f517c367a4f1ff3dcb942d899c84507e5f5b20
Reviewed-on: https://dart-review.googlesource.com/10100
Commit-Queue: Florian Loitsch <floitsch@google.com >
Reviewed-by: Florian Loitsch <floitsch@google.com >
2017-10-03 08:29:48 +00:00
Johnni Winther
dfb749b7c9
Handle try in inferrer
...
Change-Id: Ia58e9efcea893f9c0ba591a9b8e80ada9a27eca7
Reviewed-on: https://dart-review.googlesource.com/10080
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-03 07:54:43 +00:00
Johnni Winther
083e1e52ab
Handle do/for statements in inferrer
...
Change-Id: I22e0e0feb3bf6f5a440a7dab95af9944040329b0
Reviewed-on: https://dart-review.googlesource.com/10020
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-10-03 07:46:17 +00:00
Aske Simon Christensen
accddd1d97
Use error message templates for error tokens
...
Also fixes unicode U+ notation in error messages to use uppercase
letters for the hex code, as per the Unicode Standard conventions.
Closes https://github.com/dart-lang/sdk/issues/29985
Change-Id: I6397e03cb3e0d5eca156621bb4b19dfa643d9437
Reviewed-on: https://dart-review.googlesource.com/9320
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2017-10-02 14:23:26 +00:00