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

Issue 3002893002: Begin writing tests of the runtime checks needed for Dart 2.0 soundness. (Closed)

Created:
3 years, 4 months ago by Paul Berry
Modified:
3 years, 4 months ago
CC:
reviews_dartlang.org, dart-fe-team+reviews_google.com
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Begin writing tests of the runtime checks needed for Dart 2.0 soundness. The tests in this CL illustrate the major use cases where runtime checks are required. They are not exhaustive. In a later CL I will copy over some of analyzer's internal unit tests, which are much more thorough. So far these tests only pass when tested via analyzer, since analyzer currently is the only platform that does the necessary analysis to figure out which checks are needed. In follow up CLs I will begin introducing code into front_end to determine which checks are needed, and to record this information in the kernel representation. R=danrubel@google.com, sigmund@google.com Committed: https://github.com/dart-lang/sdk/commit/247f20b5810baa93efbf6d82efff65074413a585

Patch Set 1 #

Patch Set 2 : Add more annotations to the "checks" category #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2175 lines, -317 lines) Patch
M pkg/analyzer/test/src/task/strong/front_end_inference_test.dart View 9 chunks +17 lines, -317 lines 0 comments Download
A pkg/analyzer/test/src/task/strong/front_end_runtime_check_test.dart View 1 chunk +438 lines, -0 lines 0 comments Download
A pkg/analyzer/test/src/task/strong/front_end_test_common.dart View 1 chunk +339 lines, -0 lines 0 comments Download
M pkg/analyzer/test/src/task/strong/test_all.dart View 2 chunks +2 lines, -0 lines 0 comments Download
M pkg/front_end/lib/src/fasta/testing/validating_instrumentation.dart View 1 1 chunk +7 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/ast_builder.status View 1 chunk +17 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/call_through_this.dart View 1 chunk +39 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/call_through_this.dart.direct.expect View 1 chunk +39 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/call_through_this.dart.outline.expect View 1 chunk +33 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart View 1 chunk +22 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.direct.expect View 1 chunk +18 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.outline.expect View 1 chunk +17 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.strong.expect View 1 chunk +18 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart View 1 chunk +32 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.direct.expect View 1 chunk +27 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.outline.expect View 1 chunk +21 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart View 1 chunk +29 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.direct.expect View 1 chunk +24 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.outline.expect View 1 chunk +21 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/contravariant_getter.dart View 1 chunk +22 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.direct.expect View 1 chunk +18 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.outline.expect View 1 chunk +16 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart View 1 chunk +24 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.direct.expect View 1 chunk +21 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.outline.expect View 1 chunk +18 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart View 1 chunk +24 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.direct.expect View 1 chunk +20 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.outline.expect View 1 chunk +18 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart View 1 chunk +34 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.direct.expect View 1 chunk +31 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.outline.expect View 1 chunk +28 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart View 1 chunk +33 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.direct.expect View 1 chunk +37 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.outline.expect View 1 chunk +34 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart View 1 chunk +31 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.direct.expect View 1 chunk +31 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.outline.expect View 1 chunk +27 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart View 1 chunk +31 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.direct.expect View 1 chunk +36 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.outline.expect View 1 chunk +32 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart View 1 chunk +28 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.direct.expect View 1 chunk +23 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.outline.expect View 1 chunk +19 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_keyword.dart View 1 chunk +35 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.direct.expect View 1 chunk +34 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.outline.expect View 1 chunk +31 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_setter.dart View 1 chunk +21 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_setter.dart.direct.expect View 1 chunk +18 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/covariant_setter.dart.outline.expect View 1 chunk +16 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart View 1 chunk +31 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.direct.expect View 1 chunk +29 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.outline.expect View 1 chunk +26 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart View 1 chunk +25 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.direct.expect View 1 chunk +21 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.outline.expect View 1 chunk +18 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart View 1 chunk +22 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.direct.expect View 1 chunk +18 lines, -0 lines 0 comments Download
A pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.outline.expect View 1 chunk +17 lines, -0 lines 0 comments Download
M pkg/front_end/testcases/strong.status View 1 chunk +17 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (2 generated)
Paul Berry
3 years, 4 months ago (2017-08-17 21:27:07 UTC) #2
danrubel
LGTM
3 years, 4 months ago (2017-08-18 12:38:33 UTC) #3
Siggi Cherem (dart-lang)
lgtm
3 years, 4 months ago (2017-08-18 18:15:25 UTC) #4
Siggi Cherem (dart-lang)
very exciting to see these come together. Question about the @forwardingStub - how are those ...
3 years, 4 months ago (2017-08-18 18:17:10 UTC) #5
Paul Berry
On 2017/08/18 18:17:10, Siggi Cherem (dart-lang) wrote: > very exciting to see these come together. ...
3 years, 4 months ago (2017-08-21 05:22:57 UTC) #6
Paul Berry
3 years, 4 months ago (2017-08-21 05:28:43 UTC) #8
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as
247f20b5810baa93efbf6d82efff65074413a585 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698