Fix resolution of super getters and setters

Issue 2243
Review URL: https://codereview.chromium.org//11230061

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13981 260f80e4-7a28-3924-810f-c04153c831b5
This commit is contained in:
hausner@google.com 2012-10-23 18:02:25 +00:00
parent 8b6565ceea
commit aad056b3f3
3 changed files with 10 additions and 3 deletions

View file

@ -1541,6 +1541,16 @@ AstNode* Parser::ParseSuperFieldAccess(const String& field_name) {
String::ZoneHandle(Field::GetterName(field_name));
const Function& super_getter = Function::ZoneHandle(
Resolver::ResolveDynamicAnyArgs(super_class, getter_name));
if (super_getter.IsNull()) {
const String& setter_name =
String::ZoneHandle(Field::SetterName(field_name));
const Function& super_setter = Function::ZoneHandle(
Resolver::ResolveDynamicAnyArgs(super_class, setter_name));
if (!super_setter.IsNull()) {
return new StaticGetterNode(
field_pos, implicit_argument, true, super_class, field_name);
}
}
if (super_getter.IsNull()) {
// Check if this is an access to an implicit closure using 'super'.
// If a function exists of the specified field_name then try

View file

@ -199,7 +199,6 @@ Language/03_Overview/1_Scoping_A02_t06: Fail # inherited from dart2js
Language/03_Overview/1_Scoping_A02_t07: Fail # inherited from dart2js
Language/03_Overview/1_Scoping_A02_t12: Fail # inherited from dart2js
Language/03_Overview/2_Privacy_A01_t06: Fail # New import syntax
Language/03_Overview/2_Privacy_A01_t11: Fail # inherited from dart2js
Language/03_Overview/2_Privacy_A01_t14: Fail # inherited from dart2js
Language/05_Variables/05_Variables_A01_t04: Fail # http://dartbug.com/5519
Language/05_Variables/05_Variables_A01_t05: Fail # http://dartbug.com/5519

View file

@ -417,8 +417,6 @@ LibTest/core/int/operator_addition_A01_t01: Fail, OK
LibTest/core/String/contains_A01_t03: Skip # Times out.
LibTest/core/String/contains_A01_t02: Fail
Language/03_Overview/2_Privacy_A01_t11: Fail # Related to issue 978
Language/11_Statements/11_Labels_A01_t03: Fail # Issue 2238