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

Issue 8586020: Treat assignment to final as an error (Closed)

Created:
9 years, 1 month ago by Jennifer Messerly
Modified:
9 years, 1 month ago
Reviewers:
jimhug
CC:
reviews_dartlang.org, sra1
Visibility:
Public.

Description

Patch Set 1 #

Patch Set 2 : update status #

Total comments: 5
Unified diffs Side-by-side diffs Delta from patch set Stats (+70 lines, -29 lines) Patch
M frog/frogsh View 23 chunks +44 lines, -21 lines 0 comments Download
M frog/gen.dart View 8 chunks +20 lines, -7 lines 3 comments Download
M frog/tree.dart View 1 chunk +2 lines, -0 lines 1 comment Download
M frog/value.dart View 1 chunk +3 lines, -0 lines 1 comment Download
M tests/language/language.status View 1 2 chunks +1 line, -1 line 0 comments Download

Messages

Total messages: 2 (0 generated)
Jennifer Messerly
tbr
9 years, 1 month ago (2011-11-17 05:06:57 UTC) #1
jimhug
9 years, 1 month ago (2011-11-17 15:36:14 UTC) #2
lgtm

My only disappointment is that this only fixes one test - but that's not your
worry for now.

http://codereview.chromium.org/8586020/diff/2001/frog/gen.dart
File frog/gen.dart (left):

http://codereview.chromium.org/8586020/diff/2001/frog/gen.dart#oldcode1753
frog/gen.dart:1753: // TODO(jimhug): Needs checks for final and other rules to
enforce.
Yay!

http://codereview.chromium.org/8586020/diff/2001/frog/gen.dart
File frog/gen.dart (right):

http://codereview.chromium.org/8586020/diff/2001/frog/gen.dart#newcode586
frog/gen.dart:586: _scope.create(m.name, m.functionType, m.definition.span,
isFinal:true);
Nice use for lambdas - I'm a little sad this didn't make another test pass.

http://codereview.chromium.org/8586020/diff/2001/frog/gen.dart#newcode1122
frog/gen.dart:1122: method.definition.span, isFinal:true);
This one really shocks me that it doesn't trigger a test to pass <frown>.

http://codereview.chromium.org/8586020/diff/2001/frog/tree.dart
File frog/tree.dart (right):

http://codereview.chromium.org/8586020/diff/2001/frog/tree.dart#newcode49
frog/tree.dart:49: bool get isFinal() => false;
You mean you're going to get the type system right with this change?  What a
difference having type checks makes. <smile>

http://codereview.chromium.org/8586020/diff/2001/frog/value.dart
File frog/value.dart (right):

http://codereview.chromium.org/8586020/diff/2001/frog/value.dart#newcode25
frog/value.dart:25: bool isFinal = false;
Okay for now - but this is a reminder that I need to get back to my refactoring
of Value to reduce the amount of state we keep here and use subtypes when
appropropriate.

Powered by Google App Engine
This is Rietveld 408576698