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

Unified Diff: runtime/vm/parser.cc

Issue 26023005: It is not an error anymore to leave an instance final field uninitialized. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/parser.h ('k') | tests/co19/co19-runtime.status » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/parser.cc
===================================================================
--- runtime/vm/parser.cc (revision 28282)
+++ runtime/vm/parser.cc (working copy)
@@ -2161,7 +2161,7 @@
}
-void Parser::CheckConstFieldsInitialized(const Class& cls) {
+void Parser::CheckFieldsInitialized(const Class& cls) {
const Array& fields = Array::Handle(cls.fields());
Field& field = Field::Handle();
SequenceNode* initializers = current_block_->statements;
@@ -2186,13 +2186,8 @@
if (found) continue;
- if (field.is_final()) {
- ErrorMsg("final field '%s' not initialized",
- String::Handle(field.name()).ToCString());
- } else {
- field.UpdateCid(kNullCid);
- field.UpdateLength(Field::kNoFixedLength);
- }
+ field.UpdateCid(kNullCid);
+ field.UpdateLength(Field::kNoFixedLength);
}
}
@@ -2324,7 +2319,7 @@
// or constructor redirection.
GenerateSuperConstructorCall(cls, receiver, NULL);
}
- CheckConstFieldsInitialized(cls);
+ CheckFieldsInitialized(cls);
}
@@ -2438,7 +2433,7 @@
}
GenerateSuperConstructorCall(current_class(), receiver, forwarding_args);
- CheckConstFieldsInitialized(current_class());
+ CheckFieldsInitialized(current_class());
// Empty constructor body.
SequenceNode* statements = CloseBlock();
« no previous file with comments | « runtime/vm/parser.h ('k') | tests/co19/co19-runtime.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698