Index: runtime/vm/parser.cc |
=================================================================== |
--- runtime/vm/parser.cc (revision 45120) |
+++ runtime/vm/parser.cc (working copy) |
@@ -2047,7 +2047,6 @@ |
Class::ZoneHandle(Z, current_class().SuperClass()); |
AstNode* closure = new StaticGetterNode(supercall_pos, |
LoadReceiver(supercall_pos), |
- /* is_super_getter */ true, |
super_class, |
function_name); |
// 'this' is not passed as parameter to the closure. |
@@ -2220,8 +2219,8 @@ |
// Emit a StaticGetterNode anyway, so that noSuchMethod gets called. |
} |
} |
- return new StaticGetterNode( |
- field_pos, implicit_argument, true, super_class, field_name); |
+ return new(Z) StaticGetterNode( |
+ field_pos, implicit_argument, super_class, field_name); |
} |
@@ -10807,7 +10806,6 @@ |
closure = new(Z) StaticGetterNode( |
call_pos, |
NULL, |
- false, |
Class::ZoneHandle(Z, cls.raw()), |
func_name); |
return BuildClosureCall(call_pos, closure, arguments); |
@@ -10887,7 +10885,6 @@ |
ASSERT(getter.kind() == RawFunction::kImplicitStaticFinalGetter); |
return new(Z) StaticGetterNode(ident_pos, |
NULL, // Receiver. |
- false, // is_super_getter. |
field_owner, |
field_name); |
} |
@@ -10925,14 +10922,13 @@ |
// a throw NoSuchMethodError(). |
access = new(Z) StaticGetterNode(ident_pos, |
NULL, |
- false, |
Class::ZoneHandle(Z, cls.raw()), |
field_name); |
} |
} else { |
ASSERT(func.kind() != RawFunction::kImplicitStaticFinalGetter); |
access = new(Z) StaticGetterNode( |
- ident_pos, NULL, false, Class::ZoneHandle(Z, cls.raw()), field_name); |
+ ident_pos, NULL, Class::ZoneHandle(Z, cls.raw()), field_name); |
} |
} else { |
access = GenerateStaticFieldLookup(field, ident_pos); |
@@ -10960,7 +10956,6 @@ |
StaticGetterNode* getter = new(Z) StaticGetterNode( |
primary->token_pos(), |
NULL, // No receiver. |
- false, // Not a super getter. |
Class::ZoneHandle(Z, current_class().raw()), |
name); |
getter->set_is_deferred(primary->is_deferred_reference()); |
@@ -11480,7 +11475,7 @@ |
} else { |
// The implicit static getter will throw the exception if necessary. |
return new(Z) StaticGetterNode( |
- field_ref_pos, NULL, false, field_owner, field_name); |
+ field_ref_pos, NULL, field_owner, field_name); |
} |
} else if (value.raw() == Object::sentinel().raw()) { |
// This field has not been referenced yet and thus the value has |
@@ -11529,7 +11524,7 @@ |
return NULL; // Constant |
} else { |
return new(Z) StaticGetterNode( |
- field_ref_pos, NULL, false, field_owner, field_name); |
+ field_ref_pos, NULL, field_owner, field_name); |
} |
} |
if (getter.IsNull() || |
@@ -11538,7 +11533,7 @@ |
} |
ASSERT(getter.kind() == RawFunction::kImplicitGetter); |
return new(Z) StaticGetterNode( |
- field_ref_pos, NULL, false, field_owner, field_name); |
+ field_ref_pos, NULL, field_owner, field_name); |
} |
@@ -11676,19 +11671,8 @@ |
return true; |
} else if (func.IsStaticFunction()) { |
if (node != NULL) { |
- ASSERT(AbstractType::Handle(Z, func.result_type()).IsResolved()); |
- // The static getter may later be changed into a dynamically |
- // resolved instance setter if no static setter can |
- // be found. |
- AstNode* receiver = NULL; |
- const bool kTestOnly = true; |
- if (!current_function().is_static() && |
- (LookupReceiver(current_block_->scope, kTestOnly) != NULL)) { |
- receiver = LoadReceiver(ident_pos); |
- } |
*node = new(Z) StaticGetterNode(ident_pos, |
- receiver, |
- false, |
+ NULL, |
Class::ZoneHandle(Z, cls.raw()), |
ident); |
} |
@@ -11697,12 +11681,12 @@ |
} |
func = cls.LookupSetterFunction(ident); |
if (!func.IsNull()) { |
+ // We create a getter node even though a getter doesn't exist as |
+ // it could be followed by an assignment which will convert it to |
+ // a setter node. If there is no assignment we will get an error |
+ // when we try to invoke the getter. |
if (func.IsDynamicFunction() || func.is_abstract()) { |
if (node != NULL) { |
- // We create a getter node even though a getter doesn't exist as |
- // it could be followed by an assignment which will convert it to |
- // a setter node. If there is no assignment we will get an error |
- // when we try to invoke the getter. |
CheckInstanceFieldAccess(ident_pos, ident); |
ASSERT(AbstractType::Handle(Z, func.result_type()).IsResolved()); |
*node = CallGetter(ident_pos, LoadReceiver(ident_pos), ident); |
@@ -11710,16 +11694,10 @@ |
return true; |
} else if (func.IsStaticFunction()) { |
if (node != NULL) { |
- // We create a getter node even though a getter doesn't exist as |
- // it could be followed by an assignment which will convert it to |
- // a setter node. If there is no assignment we will get an error |
- // when we try to invoke the getter. |
- *node = new(Z) StaticGetterNode( |
- ident_pos, |
- NULL, |
- false, |
- Class::ZoneHandle(Z, cls.raw()), |
- ident); |
+ *node = new(Z) StaticGetterNode(ident_pos, |
+ NULL, |
+ Class::ZoneHandle(Z, cls.raw()), |
+ ident); |
} |
return true; |
} |
@@ -11764,7 +11742,6 @@ |
if (func.IsGetterFunction() || func.IsSetterFunction()) { |
return new(Z) StaticGetterNode(ident_pos, |
/* receiver */ NULL, |
- /* is_super_getter */ false, |
Class::ZoneHandle(Z, func.Owner()), |
ident); |
@@ -11848,7 +11825,6 @@ |
StaticGetterNode* getter = new(Z) StaticGetterNode( |
ident_pos, |
/* receiver */ NULL, |
- /* is_super_getter */ false, |
Class::ZoneHandle(Z, func.Owner()), |
ident); |
getter->set_is_deferred(is_deferred); |