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

Issue 2465893002: Add strong mode type checking pass. (Closed)

Created:
4 years, 1 month ago by asgerf
Modified:
4 years, 1 month ago
CC:
dart-kernel+reviews_google.com
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Add strong mode type checking pass. This is a piece of the upcoming strong mode-based type propagation. The new type propagator will build its inference graph based on the subtyping constraints found during type checking. This type checker is not intended to report type errors to end-users. In its current form, it is quite redundant with the front end's type checker, but this will not be the case once we augment kernel's type system. The internals of "dart:" libraries are not type checked -- they are simply assumed to satisfy the type annotations on their interfaces. BUG= R=kmillikin@google.com Committed: https://github.com/dart-lang/kernel/commit/3baff07ec4bc6216947477cba8cce3a355be68b7

Patch Set 1 #

Patch Set 2 : Clean up some spurious changes #

Total comments: 8

Patch Set 3 : Address comments #

Patch Set 4 : Add testing support for type checker #

Patch Set 5 : Update test expectations #

Total comments: 1

Patch Set 6 : Merge with master and remove visitBlockExpression #

Unified diffs Side-by-side diffs Delta from patch set Stats (+990 lines, -16 lines) Patch
M lib/ast.dart View 1 2 3 4 5 2 chunks +2 lines, -2 lines 0 comments Download
M lib/type_algebra.dart View 1 2 4 chunks +61 lines, -6 lines 0 comments Download
A lib/type_checker.dart View 1 2 3 4 5 1 chunk +812 lines, -0 lines 0 comments Download
M lib/type_environment.dart View 1 3 chunks +7 lines, -4 lines 0 comments Download
M test/baseline_spec_mode_test.dart View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M test/baseline_strong_mode_test.dart View 1 2 3 2 chunks +37 lines, -1 line 0 comments Download
M test/baseline_tester.dart View 1 2 3 2 chunks +6 lines, -1 line 0 comments Download
M test/baseline_type_propagation_test.dart View 1 2 3 2 chunks +2 lines, -1 line 0 comments Download
A test/typecheck.dart View 1 chunk +44 lines, -0 lines 0 comments Download
M testcases/strong-mode/DeltaBlue.baseline.txt View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M testcases/strong-mode/call.baseline.txt View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M testcases/strong-mode/escape.baseline.txt View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M testcases/strong-mode/optional.baseline.txt View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M testcases/strong-mode/void-methods.baseline.txt View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 9 (3 generated)
asgerf
4 years, 1 month ago (2016-10-31 15:11:24 UTC) #3
Kevin Millikin (Google)
LGTM. https://codereview.chromium.org/2465893002/diff/20001/lib/type_algebra.dart File lib/type_algebra.dart (right): https://codereview.chromium.org/2465893002/diff/20001/lib/type_algebra.dart#newcode176 lib/type_algebra.dart:176: /// Substitutes the type parameters on the class ...
4 years, 1 month ago (2016-11-01 13:03:01 UTC) #4
asgerf
Thanks for the review! https://codereview.chromium.org/2465893002/diff/20001/lib/type_algebra.dart File lib/type_algebra.dart (right): https://codereview.chromium.org/2465893002/diff/20001/lib/type_algebra.dart#newcode176 lib/type_algebra.dart:176: /// Substitutes the type parameters ...
4 years, 1 month ago (2016-11-01 13:59:36 UTC) #5
asgerf
PTAL at patch 4+5 (delta 5->3). I added some testing. https://codereview.chromium.org/2465893002/diff/80001/testcases/strong-mode/DeltaBlue.baseline.txt File testcases/strong-mode/DeltaBlue.baseline.txt (right): https://codereview.chromium.org/2465893002/diff/80001/testcases/strong-mode/DeltaBlue.baseline.txt#newcode4 ...
4 years, 1 month ago (2016-11-01 14:29:08 UTC) #6
Kevin Millikin (Google)
Tests LGTM.
4 years, 1 month ago (2016-11-01 14:39:03 UTC) #7
asgerf
4 years, 1 month ago (2016-11-01 14:43:37 UTC) #9
Message was sent while issue was closed.
Committed patchset #6 (id:100001) manually as
3baff07ec4bc6216947477cba8cce3a355be68b7 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698