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

Issue 1807213005: Use GLB for function parameters when doing LUB in strong mode. (Closed)

Created:
4 years, 9 months ago by Bob Nystrom
Modified:
4 years, 9 months ago
Reviewers:
Leaf, Jennifer Messerly
CC:
reviews_dartlang.org
Base URL:
https://github.com/dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Use GLB for function parameters when doing LUB in strong mode. R=leafp@google.com Committed: https://github.com/dart-lang/sdk/commit/c55e9ef20bbfb7b884034eb5192fb3a7ec5e6f5a

Patch Set 1 #

Total comments: 20

Patch Set 2 : Revise handling type parameters and void types. #

Patch Set 3 : Fix summary tests that are doing the right thing now. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+758 lines, -196 lines) Patch
M pkg/analyzer/lib/src/dart/element/element.dart View 1 2 1 chunk +14 lines, -0 lines 0 comments Download
M pkg/analyzer/lib/src/generated/type_system.dart View 1 2 10 chunks +307 lines, -126 lines 0 comments Download
M pkg/analyzer/test/generated/type_system_test.dart View 1 13 chunks +420 lines, -55 lines 0 comments Download
M pkg/analyzer/test/src/summary/summary_common.dart View 1 2 2 chunks +4 lines, -8 lines 0 comments Download
M pkg/analyzer/test/src/task/strong/checker_test.dart View 1 2 1 chunk +13 lines, -7 lines 0 comments Download

Messages

Total messages: 10 (3 generated)
Bob Nystrom
I still need to do better LUB for generics, but this was a nice standalone ...
4 years, 9 months ago (2016-03-18 22:36:43 UTC) #2
Leaf
https://codereview.chromium.org/1807213005/diff/1/pkg/analyzer/lib/src/generated/type_system.dart File pkg/analyzer/lib/src/generated/type_system.dart (right): https://codereview.chromium.org/1807213005/diff/1/pkg/analyzer/lib/src/generated/type_system.dart#newcode467 pkg/analyzer/lib/src/generated/type_system.dart:467: if (type1.isVoid || type2.isVoid) { This seems wrong. void ...
4 years, 9 months ago (2016-03-22 00:02:20 UTC) #3
Bob Nystrom
https://codereview.chromium.org/1807213005/diff/1/pkg/analyzer/lib/src/generated/type_system.dart File pkg/analyzer/lib/src/generated/type_system.dart (right): https://codereview.chromium.org/1807213005/diff/1/pkg/analyzer/lib/src/generated/type_system.dart#newcode467 pkg/analyzer/lib/src/generated/type_system.dart:467: if (type1.isVoid || type2.isVoid) { On 2016/03/22 00:02:20, Leaf ...
4 years, 9 months ago (2016-03-22 21:35:00 UTC) #4
Leaf
lgtm https://codereview.chromium.org/1807213005/diff/1/pkg/analyzer/lib/src/generated/type_system.dart File pkg/analyzer/lib/src/generated/type_system.dart (right): https://codereview.chromium.org/1807213005/diff/1/pkg/analyzer/lib/src/generated/type_system.dart#newcode467 pkg/analyzer/lib/src/generated/type_system.dart:467: if (type1.isVoid || type2.isVoid) { On 2016/03/22 21:35:00, ...
4 years, 9 months ago (2016-03-23 05:33:39 UTC) #5
Bob Nystrom
Committed patchset #3 (id:40001) manually as c55e9ef20bbfb7b884034eb5192fb3a7ec5e6f5a (presubmit successful).
4 years, 9 months ago (2016-03-23 20:50:54 UTC) #7
Bob Nystrom
https://codereview.chromium.org/1807213005/diff/1/pkg/analyzer/lib/src/generated/type_system.dart File pkg/analyzer/lib/src/generated/type_system.dart (right): https://codereview.chromium.org/1807213005/diff/1/pkg/analyzer/lib/src/generated/type_system.dart#newcode467 pkg/analyzer/lib/src/generated/type_system.dart:467: if (type1.isVoid || type2.isVoid) { On 2016/03/23 05:33:39, Leaf ...
4 years, 9 months ago (2016-03-23 20:51:37 UTC) #8
Jennifer Messerly
4 years, 9 months ago (2016-03-23 21:43:36 UTC) #10
Message was sent while issue was closed.
FYI, I'm seeing test failures from this. Reproduced with:

./tools/test.py --checked -m release pkg/analyzer

example stack trace:

  Caused by 'package:analyzer/src/generated/type_system.dart': Failed assertion:
line 373 pos 12: '!t1.isVoid' is not true.
  #0      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:27)
  #1      StrongTypeSystemImpl._isSubtypeOf
(package:analyzer/src/generated/type_system.dart:373:12)
  #2      StrongTypeSystemImpl.isSubtypeOf
(package:analyzer/src/generated/type_system.dart:259:12)
  #3      CodeChecker._checkDowncast
(package:analyzer/src/task/strong/checker.dart:705:15)
  #4      CodeChecker.checkAssignment
(package:analyzer/src/task/strong/checker.dart:148:7)
  #5      CodeChecker.visitVariableDeclarationList
(package:analyzer/src/task/strong/checker.dart:573:11)


Is that assertion obsolete?

Powered by Google App Engine
This is Rietveld 408576698