Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(271)

Issue 1010893004: Allow S->T <: dynamic->T (Closed)

Created:
5 years, 9 months ago by vsm
Modified:
5 years, 9 months ago
Reviewers:
Leaf, Jennifer Messerly
CC:
dev-compiler+reviews_dartlang.org
Base URL:
https://github.com/dart-lang/dev_compiler.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Allow S->T <: dynamic->T In followup CLs, I will: - Fix coercions to limit implicit ones. R=jmesserly@google.com, leafp@google.com Committed: https://github.com/dart-lang/dev_compiler/commit/8f41f42b26f2ee5f5d865e16b5c602460341096e

Patch Set 1 #

Patch Set 2 : Fix comments #

Patch Set 3 : Fix rule to disallow dynamic->T <: S->T for S != dynamic #

Patch Set 4 : Add comment #

Total comments: 17

Patch Set 5 : Fix dinvoke on WhereIterable/Iterator #

Patch Set 6 : Rebase and address comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+768 lines, -754 lines) Patch
M lib/runtime/dart_runtime.js View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M lib/src/checker/rules.dart View 1 2 3 4 5 6 chunks +34 lines, -10 lines 0 comments Download
M lib/src/codegen/js_codegen.dart View 1 2 3 1 chunk +10 lines, -0 lines 0 comments Download
M lib/src/testing.dart View 1 2 1 chunk +3 lines, -2 lines 0 comments Download
M test/checker/checker_test.dart View 1 2 3 4 5 11 chunks +49 lines, -21 lines 0 comments Download
M test/codegen/expect/dart/_interceptors.js View 1 2 3 4 5 5 chunks +15 lines, -15 lines 0 comments Download
M test/codegen/expect/dart/_internal.js View 1 2 3 4 26 chunks +46 lines, -46 lines 0 comments Download
M test/codegen/expect/dart/_isolate_helper.js View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M test/codegen/expect/dart/_js_helper.js View 1 2 3 4 5 5 chunks +7 lines, -7 lines 0 comments Download
M test/codegen/expect/dart/async.js View 1 2 3 4 5 44 chunks +72 lines, -72 lines 0 comments Download
M test/codegen/expect/dart/collection.js View 1 2 34 chunks +58 lines, -58 lines 0 comments Download
M test/codegen/expect/dart/convert.js View 1 2 3 4 5 7 chunks +10 lines, -10 lines 0 comments Download
M test/codegen/expect/dart/core.js View 1 2 3 4 5 10 chunks +13 lines, -13 lines 0 comments Download
M test/codegen/expect/dart/isolate.js View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M test/codegen/expect/server_mode/html_input.html View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M test/codegen/expect/sunflower/sunflower.js View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M test/codegen/expect/sunflower/sunflower.txt View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download
M test/dart_codegen/expect/_internal/iterable.dart View 1 2 3 4 12 chunks +56 lines, -38 lines 0 comments Download
M test/dart_codegen/expect/async/future.dart View 5 chunks +6 lines, -16 lines 0 comments Download
M test/dart_codegen/expect/async/future_impl.dart View 1 2 7 chunks +19 lines, -25 lines 0 comments Download
M test/dart_codegen/expect/async/schedule_microtask.dart View 1 2 3 4 5 2 chunks +4 lines, -4 lines 0 comments Download
M test/dart_codegen/expect/async/stream.dart View 1 2 23 chunks +88 lines, -122 lines 0 comments Download
M test/dart_codegen/expect/async/stream_controller.dart View 1 2 6 chunks +8 lines, -23 lines 0 comments Download
M test/dart_codegen/expect/async/stream_impl.dart View 1 2 8 chunks +27 lines, -50 lines 0 comments Download
M test/dart_codegen/expect/async/stream_pipe.dart View 1 2 2 chunks +2 lines, -10 lines 0 comments Download
M test/dart_codegen/expect/async/stream_transformers.dart View 1 2 4 chunks +32 lines, -24 lines 0 comments Download
M test/dart_codegen/expect/async/timer.dart View 1 2 2 chunks +5 lines, -5 lines 0 comments Download
M test/dart_codegen/expect/async/zone.dart View 1 2 3 4 5 11 chunks +37 lines, -37 lines 0 comments Download
M test/dart_codegen/expect/c/c.dart View 1 chunk +1 line, -8 lines 0 comments Download
M test/dart_codegen/expect/collection/linked_list.dart View 1 2 2 chunks +9 lines, -1 line 0 comments Download
M test/dart_codegen/expect/collection/list.dart View 1 2 5 chunks +6 lines, -36 lines 0 comments Download
M test/dart_codegen/expect/collection/maps.dart View 1 2 2 chunks +4 lines, -4 lines 0 comments Download
M test/dart_codegen/expect/collection/queue.dart View 1 2 3 chunks +5 lines, -5 lines 0 comments Download
M test/dart_codegen/expect/collection/splay_tree.dart View 1 2 12 chunks +48 lines, -23 lines 0 comments Download
M test/dart_codegen/expect/convert/json.dart View 1 2 4 chunks +10 lines, -10 lines 0 comments Download
M test/dart_codegen/expect/core/uri.dart View 1 2 3 4 5 20 chunks +65 lines, -34 lines 0 comments Download
M test/dart_codegen/expect/d/d.dart View 1 chunk +1 line, -9 lines 0 comments Download
M test/dart_codegen/expect/types.txt View 1 chunk +0 lines, -6 lines 0 comments Download
M test/generated_sdk/lib/internal/iterable.dart View 1 2 3 4 2 chunks +2 lines, -2 lines 0 comments Download
M tool/input_sdk/lib/internal/iterable.dart View 1 2 3 4 2 chunks +2 lines, -2 lines 0 comments Download

Messages

Total messages: 11 (2 generated)
vsm
5 years, 9 months ago (2015-03-17 20:45:19 UTC) #2
vsm
PTAL This eliminates all invalid overrides in Angular. John: I added a fix to the ...
5 years, 9 months ago (2015-03-18 21:33:21 UTC) #4
Jennifer Messerly
https://codereview.chromium.org/1010893004/diff/60001/test/codegen/expect/dart/_internal.js File test/codegen/expect/dart/_internal.js (right): https://codereview.chromium.org/1010893004/diff/60001/test/codegen/expect/dart/_internal.js#newcode448 test/codegen/expect/dart/_internal.js:448: return new WhereIterator(this[_iterable].iterator, dart.closureWrap(this[_f], "(E) → bool")); hmmm. I'm ...
5 years, 9 months ago (2015-03-18 21:50:59 UTC) #5
Jennifer Messerly
https://codereview.chromium.org/1010893004/diff/60001/test/codegen/expect/dart/_internal.js File test/codegen/expect/dart/_internal.js (right): https://codereview.chromium.org/1010893004/diff/60001/test/codegen/expect/dart/_internal.js#newcode448 test/codegen/expect/dart/_internal.js:448: return new WhereIterator(this[_iterable].iterator, dart.closureWrap(this[_f], "(E) → bool")); On 2015/03/18 ...
5 years, 9 months ago (2015-03-18 21:53:22 UTC) #6
vsm
https://codereview.chromium.org/1010893004/diff/60001/test/codegen/expect/dart/_internal.js File test/codegen/expect/dart/_internal.js (right): https://codereview.chromium.org/1010893004/diff/60001/test/codegen/expect/dart/_internal.js#newcode448 test/codegen/expect/dart/_internal.js:448: return new WhereIterator(this[_iterable].iterator, dart.closureWrap(this[_f], "(E) → bool")); On 2015/03/18 ...
5 years, 9 months ago (2015-03-18 22:34:38 UTC) #7
Jennifer Messerly
lgtm
5 years, 9 months ago (2015-03-18 22:54:30 UTC) #8
Leaf
Couple small comments, but lgtm. https://codereview.chromium.org/1010893004/diff/60001/lib/src/checker/rules.dart File lib/src/checker/rules.dart (right): https://codereview.chromium.org/1010893004/diff/60001/lib/src/checker/rules.dart#newcode267 lib/src/checker/rules.dart:267: // In negative state, ...
5 years, 9 months ago (2015-03-18 22:57:26 UTC) #9
vsm
https://codereview.chromium.org/1010893004/diff/60001/lib/src/checker/rules.dart File lib/src/checker/rules.dart (right): https://codereview.chromium.org/1010893004/diff/60001/lib/src/checker/rules.dart#newcode267 lib/src/checker/rules.dart:267: // In negative state, dynamic acts as bottom as ...
5 years, 9 months ago (2015-03-18 23:40:33 UTC) #10
vsm
5 years, 9 months ago (2015-03-18 23:40:51 UTC) #11
Message was sent while issue was closed.
Committed patchset #6 (id:100001) manually as
8f41f42b26f2ee5f5d865e16b5c602460341096e (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698