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

Unified Diff: runtime/vm/parser.cc

Issue 25842003: VM: Fix bug with evaluation order of static setter invocation. (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 | « no previous file | tests/co19/co19-co19.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 28210)
+++ runtime/vm/parser.cc (working copy)
@@ -8136,7 +8136,7 @@
NULL,
false,
Class::ZoneHandle(cls.raw()),
- String::ZoneHandle(field_name.raw()));
+ field_name);
Florian Schneider 2013/10/03 15:33:22 field_name is already a ZoneHandle.
} else {
// Field exists.
if (field.is_final()) {
@@ -8206,13 +8206,11 @@
String& name = String::CheckedZoneHandle(primary->primary().raw());
if (current_function().is_static() ||
current_function().IsInFactoryScope()) {
- return ThrowNoSuchMethodError(primary->token_pos(),
- current_class(),
- name,
- NULL, // No arguments.
- InvocationMirror::kStatic,
Ivan Posva 2013/10/03 16:44:05 You are losing information here about the kind of
Florian Schneider 2013/10/04 09:10:28 We would need the RHS of the assignment as argumen
- InvocationMirror::kField,
- NULL); // No existing function.
+ return new StaticGetterNode(primary->token_pos(),
+ NULL, // No receiver.
+ false, // Not a super getter.
+ Class::ZoneHandle(current_class().raw()),
+ name);
} else {
AstNode* receiver = LoadReceiver(primary->token_pos());
return CallGetter(node->token_pos(), receiver, name);
« no previous file with comments | « no previous file | tests/co19/co19-co19.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698