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

Issue 13261008: Check for cyclic reference in typedefs (Closed)

Created:
7 years, 8 months ago by Johnni Winther
Modified:
7 years, 3 months ago
Reviewers:
karlklose, ahe
CC:
reviews_dartlang.org, Kathy Walrath, lukechurch
Visibility:
Public.

Description

Check for cyclic reference in typedefs This CL introduces a post-processing queue to the resolution phase which is processing immediately after the resolution queue has been closed. The cyclic check of typedefs uses this post-processing queue to register the checking function during TypedefResolverVisitor. R=ahe@google.com, karlklose@google.com Committed: https://code.google.com/p/dart/source/detail?r=27595

Patch Set 1 #

Patch Set 2 : Rebased #

Total comments: 16

Patch Set 3 : Updated cf. comments #

Patch Set 4 : Rebased #

Patch Set 5 : Test + status updated #

Patch Set 6 : Handle cyclic type variables. #

Patch Set 7 : Updated due to spec change #

Patch Set 8 : Remove travesal visitor #

Total comments: 12

Patch Set 9 : Rebased #

Patch Set 10 : Updated cf. comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+172 lines, -11 lines) Patch
M sdk/lib/_internal/compiler/implementation/resolution/members.dart View 1 2 3 4 5 6 7 8 9 1 chunk +95 lines, -1 line 0 comments Download
M sdk/lib/_internal/compiler/implementation/warnings.dart View 1 2 3 4 5 6 7 8 9 1 chunk +26 lines, -0 lines 0 comments Download
M tests/co19/co19-dart2dart.status View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -4 lines 0 comments Download
M tests/co19/co19-dart2js.status View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -4 lines 0 comments Download
A tests/language/cyclic_typedef_test.dart View 1 2 3 4 5 6 1 chunk +51 lines, -0 lines 0 comments Download
M tests/language/language_dart2js.status View 1 2 3 4 5 6 7 8 9 2 chunks +0 lines, -2 lines 0 comments Download

Messages

Total messages: 13 (0 generated)
Johnni Winther
7 years, 8 months ago (2013-03-31 11:02:21 UTC) #1
ahe
LGTM! https://codereview.chromium.org/13261008/diff/2001/sdk/lib/_internal/compiler/implementation/compiler.dart File sdk/lib/_internal/compiler/implementation/compiler.dart (right): https://codereview.chromium.org/13261008/diff/2001/sdk/lib/_internal/compiler/implementation/compiler.dart#newcode88 sdk/lib/_internal/compiler/implementation/compiler.dart:88: typedef void PostProcess(); I'd call this PostProcessAction or ...
7 years, 8 months ago (2013-04-02 08:22:39 UTC) #2
ahe
One more thing: the explanation you have in the CL description is nice. Do you ...
7 years, 8 months ago (2013-04-02 08:25:46 UTC) #3
Johnni Winther
https://codereview.chromium.org/13261008/diff/2001/sdk/lib/_internal/compiler/implementation/compiler.dart File sdk/lib/_internal/compiler/implementation/compiler.dart (right): https://codereview.chromium.org/13261008/diff/2001/sdk/lib/_internal/compiler/implementation/compiler.dart#newcode88 sdk/lib/_internal/compiler/implementation/compiler.dart:88: typedef void PostProcess(); On 2013/04/02 08:22:39, ahe wrote: > ...
7 years, 8 months ago (2013-04-02 09:40:14 UTC) #4
Johnni Winther
PTAL
7 years, 8 months ago (2013-04-19 09:40:47 UTC) #5
Johnni Winther
PTAL
7 years, 3 months ago (2013-09-03 08:57:30 UTC) #6
Johnni Winther
ping
7 years, 3 months ago (2013-09-06 06:09:12 UTC) #7
Johnni Winther
ping
7 years, 3 months ago (2013-09-17 07:50:45 UTC) #8
karlklose
LGTM. https://codereview.chromium.org/13261008/diff/31001/sdk/lib/_internal/compiler/implementation/resolution/members.dart File sdk/lib/_internal/compiler/implementation/resolution/members.dart (right): https://codereview.chromium.org/13261008/diff/31001/sdk/lib/_internal/compiler/implementation/resolution/members.dart#newcode3273 sdk/lib/_internal/compiler/implementation/resolution/members.dart:3273: } else if (seenTypedefs.tail.tail.isEmpty) { It would be ...
7 years, 3 months ago (2013-09-17 08:56:15 UTC) #9
ahe
LGTM (please address Karl's comments about diagnostics). https://codereview.chromium.org/13261008/diff/31001/sdk/lib/_internal/compiler/implementation/resolution/members.dart File sdk/lib/_internal/compiler/implementation/resolution/members.dart (right): https://codereview.chromium.org/13261008/diff/31001/sdk/lib/_internal/compiler/implementation/resolution/members.dart#newcode3238 sdk/lib/_internal/compiler/implementation/resolution/members.dart:3238: checkCyclicReference); Weird ...
7 years, 3 months ago (2013-09-17 09:40:18 UTC) #10
Johnni Winther
https://codereview.chromium.org/13261008/diff/31001/sdk/lib/_internal/compiler/implementation/resolution/members.dart File sdk/lib/_internal/compiler/implementation/resolution/members.dart (right): https://codereview.chromium.org/13261008/diff/31001/sdk/lib/_internal/compiler/implementation/resolution/members.dart#newcode3238 sdk/lib/_internal/compiler/implementation/resolution/members.dart:3238: checkCyclicReference); On 2013/09/17 09:40:18, ahe wrote: > Weird indentation. ...
7 years, 3 months ago (2013-09-18 07:57:14 UTC) #11
ahe
Adding Kathy and Luke to look at the error messages (if they have time). See ...
7 years, 3 months ago (2013-09-18 07:58:25 UTC) #12
Johnni Winther
7 years, 3 months ago (2013-09-18 08:43:34 UTC) #13
Message was sent while issue was closed.
Committed patchset #10 manually as r27595 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698