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

Issue 24488004: Implement correct scoping rules for variables. (Closed)

Created:
7 years, 2 months ago by karlklose
Modified:
5 years, 10 months ago
Reviewers:
ahe, pquitslund, ngeoffray
CC:
reviews_dartlang.org, ahe, pquitslund
Visibility:
Public.

Description

Implement correct scoping rules for variables. BUG=13205, 13016

Patch Set 1 #

Patch Set 2 : #

Total comments: 13
Unified diffs Side-by-side diffs Delta from patch set Stats (+195 lines, -117 lines) Patch
M pkg/analyzer_experimental/lib/src/services/formatter_impl.dart View 1 2 chunks +4 lines, -4 lines 4 comments Download
M sdk/lib/_internal/compiler/implementation/closure.dart View 1 chunk +2 lines, -1 line 0 comments Download
M sdk/lib/_internal/compiler/implementation/dart_backend/backend.dart View 1 1 chunk +2 lines, -1 line 0 comments Download
M sdk/lib/_internal/compiler/implementation/dart_backend/utils.dart View 2 chunks +4 lines, -2 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/resolution/members.dart View 1 17 chunks +104 lines, -45 lines 1 comment Download
M sdk/lib/_internal/compiler/implementation/resolution/scope.dart View 3 chunks +12 lines, -38 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/scanner/listener.dart View 1 4 chunks +26 lines, -6 lines 2 comments Download
M sdk/lib/_internal/compiler/implementation/tree/nodes.dart View 1 3 chunks +6 lines, -3 lines 6 comments Download
sdk/lib/_internal/compiler/implementation/warnings.dart View 1 chunk +5 lines, -5 lines 0 comments Download
M sdk/lib/collection/list.dart View 1 chunk +1 line, -1 line 0 comments Download
M tests/co19/co19-dart2dart.status View 1 1 chunk +5 lines, -0 lines 0 comments Download
M tests/co19/co19-dart2js.status View 1 1 chunk +5 lines, -0 lines 0 comments Download
M tests/language/language.status View 1 chunk +4 lines, -0 lines 0 comments Download
M tests/language/language_analyzer.status View 1 chunk +2 lines, -0 lines 0 comments Download
M tests/language/language_dart2js.status View 1 3 chunks +2 lines, -2 lines 0 comments Download
A + tests/language/scope_variable2_test.dart View 1 chunk +11 lines, -9 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
karlklose
https://codereview.chromium.org/24488004/diff/3001/pkg/analyzer_experimental/lib/src/services/formatter_impl.dart File pkg/analyzer_experimental/lib/src/services/formatter_impl.dart (left): https://codereview.chromium.org/24488004/diff/3001/pkg/analyzer_experimental/lib/src/services/formatter_impl.dart#oldcode1316 pkg/analyzer_experimental/lib/src/services/formatter_impl.dart:1316: previousToken = token; @pquitslund: This looks like a bug.
7 years, 2 months ago (2013-09-26 07:05:42 UTC) #1
ahe
Let's talk about how to accomplish this without bloating AST nodes with information that isn't ...
7 years, 2 months ago (2013-09-26 07:48:06 UTC) #2
ngeoffray
I share Peter's concerns. https://codereview.chromium.org/24488004/diff/3001/pkg/analyzer_experimental/lib/src/services/formatter_impl.dart File pkg/analyzer_experimental/lib/src/services/formatter_impl.dart (left): https://codereview.chromium.org/24488004/diff/3001/pkg/analyzer_experimental/lib/src/services/formatter_impl.dart#oldcode1316 pkg/analyzer_experimental/lib/src/services/formatter_impl.dart:1316: previousToken = token; On 2013/09/26 ...
7 years, 2 months ago (2013-09-26 07:48:38 UTC) #3
karlklose
I'll rewrite it to not modify the AST. https://codereview.chromium.org/24488004/diff/3001/sdk/lib/_internal/compiler/implementation/tree/nodes.dart File sdk/lib/_internal/compiler/implementation/tree/nodes.dart (right): https://codereview.chromium.org/24488004/diff/3001/sdk/lib/_internal/compiler/implementation/tree/nodes.dart#newcode558 sdk/lib/_internal/compiler/implementation/tree/nodes.dart:558: final ...
7 years, 2 months ago (2013-09-27 07:07:43 UTC) #4
pquitslund
https://codereview.chromium.org/24488004/diff/3001/pkg/analyzer_experimental/lib/src/services/formatter_impl.dart File pkg/analyzer_experimental/lib/src/services/formatter_impl.dart (left): https://codereview.chromium.org/24488004/diff/3001/pkg/analyzer_experimental/lib/src/services/formatter_impl.dart#oldcode1316 pkg/analyzer_experimental/lib/src/services/formatter_impl.dart:1316: previousToken = token; On 2013/09/26 07:05:43, karlklose wrote: > ...
7 years, 2 months ago (2013-09-30 16:12:48 UTC) #5
pquitslund
7 years, 2 months ago (2013-09-30 17:23:34 UTC) #6
https://codereview.chromium.org/24488004/diff/3001/pkg/analyzer_experimental/...
File pkg/analyzer_experimental/lib/src/services/formatter_impl.dart (left):

https://codereview.chromium.org/24488004/diff/3001/pkg/analyzer_experimental/...
pkg/analyzer_experimental/lib/src/services/formatter_impl.dart:1316:
previousToken = token;
On 2013/09/30 16:12:48, pquitslund wrote:
> On 2013/09/26 07:05:43, karlklose wrote:
> > @pquitslund: This looks like a bug.
> 
> Hmmm, I agree this doesn't look right.  I have another proposed fix though. 
> Let's just remove the variable declaration for 'previousToken'.  I don't think
I
> intended to be shadowing here but I do think I want the side-effect of
updating
> the cached previous.  (Although, that may benefit from a rethink too.)
> 

And here's that fix: https://codereview.chromium.org/25304002/

Powered by Google App Engine
This is Rietveld 408576698