Nicholas Shahan
6cec64691b
[dartdevc] Remove variance from type bounds in generic function subtypes
...
As I understand in early versions of strong mode generic function subtypes could
have contra-variance in the bounds of the type parameters. Now the spec states
they must be equal.
Fixes #36501
Tested and passing with the fixed language_2/generic_function_bounds_test
https://dart-review.googlesource.com/c/sdk/+/109726
Change-Id: Ie11d6318a542867e0541d81e2a18e5e25d3f0d9d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110361
Commit-Queue: Nicholas Shahan <nshahan@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
2019-08-01 19:00:06 +00:00
Vijay Menon
2390a25341
[dartdevc] emit base types (void/dynamic) eagerly
...
This is a somewhat roundabout way to prevent a hot restart from redefining these types.
This fixes the issues arising: https://github.com/dart-lang/sdk/issues/37259 .
Should more cleanly separate fields reset on a hot restart from ones preserved.
Change-Id: Id0c45cbeed67b574c3259e1f87a405137ae93575
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111315
Reviewed-by: Mark Zhou <markzipan@google.com >
Commit-Queue: Vijay Menon <vsm@google.com >
2019-07-31 16:04:34 +00:00
Nicholas Shahan
e6db859100
[dartdevc] Cleanup unused portions of subtyping rules
...
Add additional subtyping test cases.
Change-Id: I3aa65bb5c92cf26836f5f49143083b9634386594
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109544
Commit-Queue: Nicholas Shahan <nshahan@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
2019-07-23 20:04:42 +00:00
Vijay Menon
3605630e8a
[dartdevc] don't clear generic type caches on a hot restart
...
The combination of type expression hoisting, hot restart, and generic cache
reset triggers occasional breakage (see #37259 ). Not clearing the generic
cache should be safe, but will some leak memory: unloaded types will
pollute the cache. References to those unloaded types in user code,
however, should be cleared.
Bug: https://github.com/dart-lang/sdk/issues/37259
Change-Id: Ia15115a41556db7a19109f0178baa63ec0cfcb9c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109100
Reviewed-by: Leaf Petersen <leafp@google.com >
Commit-Queue: Vijay Menon <vsm@google.com >
2019-07-23 13:54:31 +00:00
Vijay Menon
85adf76abe
[dartdevc] implement assertInterop
...
Next step is the inject this in DDC generated code on Dart/JS boundaries.
Change-Id: If15ff1389b2ce5f6c264e3e31bddaade7f7687e2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108943
Commit-Queue: Vijay Menon <vsm@google.com >
Reviewed-by: Nate Bosch <nbosch@google.com >
2019-07-12 19:36:39 +00:00
Nicholas Shahan
e3663195c7
[dartdevc] Add more subtype tests
...
Change-Id: I5314a5b80efbdc544d901184b2536d2f10427c89
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108369
Commit-Queue: Nicholas Shahan <nshahan@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
2019-07-12 19:29:59 +00:00
Vijay Menon
74643f65c2
[dartdevc] add unit test for subtyping op
...
Change-Id: I704e7b566fe76fa320c68eadd89611517c3641af
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107446
Reviewed-by: Nicholas Shahan <nshahan@google.com >
Auto-Submit: Vijay Menon <vsm@google.com >
Commit-Queue: Vijay Menon <vsm@google.com >
2019-06-26 21:42:47 +00:00
Konstantin Shcheglov
a600e97cae
Don't compare typeArguments for FunctionType(s) equality.
...
Change-Id: I9245de1cc16f912af2141dee34b03f401d89a534
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106240
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-06-20 06:07:37 +00:00
Nicholas Shahan
939597863b
[dartdevc] Move html/debugger_test.dart to compiler/dartdevc_native
...
Allows the dart:_debugger import to work as it is white-listed in this
directory.
Reveals that DDK is not passing this test. The status changes from a
compile-time to a run-time error.
Change-Id: I3703496a4ede7d155a4d82286040f1a73be677ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106360
Reviewed-by: Vijay Menon <vsm@google.com >
Commit-Queue: Nicholas Shahan <nshahan@google.com >
2019-06-19 17:48:56 +00:00
Nicholas Shahan
2073a822bd
[dartdevc] Add top level function names to NSM error messages
...
These are now represented as named functions. This will also help the
debug tools give more information.
Tested with three applications and adding the names caused a code size increases
of less than 1%.
|Total App JS size | Increase |
|------------------|----------|
| 24.7 MB | 0.06% |
| 242 MB | 0.14% |
| 327 MB | 0.19% |
Fixes : #37118
Change-Id: I89a259215ceb8b9e559a190dbd521c923d4c55c2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105546
Commit-Queue: Nicholas Shahan <nshahan@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
2019-06-17 20:58:31 +00:00
Vijay Menon
dd5530a73e
[dartdevc] make ImmutableSet private
...
Patch files should not add public members to the underlying library.
Siggi was hitting this when wiring up modular testing for DDC:
https://dart-review.googlesource.com/c/sdk/+/103680/3/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/operations.dart#544
The ddk builder appears to have be swallowing this error - not yet sure why.
Change-Id: I86098b25a344b2bb8b69fe3dc386d01f6f7cb309
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103740
Reviewed-by: Nate Bosch <nbosch@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Vijay Menon <vsm@google.com >
2019-05-29 20:04:24 +00:00
Vijay Menon
47e63b0eee
[dartdevc] encode part file metadata
...
Fixes https://github.com/dart-lang/sdk/issues/37074
Hand-tested on flutter gallery. E.g.,:
> dart.getParts('package:flutter_web_ui/ui.dart')
(15) ["src/ui/canvas.dart", "src/ui/compositing.dart", "src/ui/debug_canvas_reuse_overlay.dart", "src/ui/geometry.dart", "src/ui/hash_codes.dart", "src/ui/initialization.dart", "src/ui/lerp.dart", "src/ui/natives.dart", "src/ui/painting.dart", "src/ui/pointer.dart", "src/ui/semantics.dart", "src/ui/browser_location.dart", "src/ui/text.dart", "src/ui/tile_mode.dart", "src/ui/window.dart"]
Change-Id: Ied734d9f3739886d6679a9a9bbeae854e432bc52
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103602
Reviewed-by: Jake Macdonald <jakemac@google.com >
Commit-Queue: Vijay Menon <vsm@google.com >
2019-05-29 14:48:40 +00:00
Vijay Menon
96c2d3c303
[dartdevc] enable testing of ddc internals
...
Change-Id: I8f4753a9a1f2f9f61df0d045adf07ff75fe32907
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103820
Reviewed-by: Alexander Thomas <athom@google.com >
Commit-Queue: Vijay Menon <vsm@google.com >
2019-05-28 19:33:05 +00:00