| Index: runtime/vm/parser.cc
|
| ===================================================================
|
| --- runtime/vm/parser.cc (revision 1908)
|
| +++ runtime/vm/parser.cc (working copy)
|
| @@ -2940,6 +2940,17 @@
|
| if (library_.LookupObject(var_name) != Object::null()) {
|
| ErrorMsg(name_pos, "'%s' is already defined", var_name.ToCString());
|
| }
|
| + String& accessor_name = String::Handle(Field::GetterName(var_name));
|
| + if (library_.LookupObject(accessor_name) != Object::null()) {
|
| + ErrorMsg(name_pos, "getter for '%s' is already defined",
|
| + var_name.ToCString());
|
| + }
|
| + accessor_name = Field::SetterName(var_name);
|
| + if (library_.LookupObject(accessor_name) != Object::null()) {
|
| + ErrorMsg(name_pos, "setter for '%s' is already defined",
|
| + var_name.ToCString());
|
| + }
|
| +
|
| Field& field = Field::ZoneHandle(
|
| Field::New(var_name, is_static, is_final, name_pos));
|
| field.set_type(type);
|
| @@ -2992,6 +3003,16 @@
|
| if (library_.LookupObject(func_name) != Object::null()) {
|
| ErrorMsg(name_pos, "'%s' is already defined", func_name.ToCString());
|
| }
|
| + String& accessor_name = String::Handle(Field::GetterName(func_name));
|
| + if (library_.LookupObject(accessor_name) != Object::null()) {
|
| + ErrorMsg(name_pos, "'%s' is already defined as getter",
|
| + func_name.ToCString());
|
| + }
|
| + accessor_name = Field::SetterName(func_name);
|
| + if (library_.LookupObject(accessor_name) != Object::null()) {
|
| + ErrorMsg(name_pos, "'%s' is already defined as setter",
|
| + func_name.ToCString());
|
| + }
|
|
|
| if (CurrentToken() != Token::kLPAREN) {
|
| ErrorMsg("'(' expected");
|
| @@ -3069,6 +3090,16 @@
|
| is_getter ? "getter" : "setter");
|
| }
|
|
|
| + if (library_.LookupObject(*field_name) != Object::null()) {
|
| + ErrorMsg(name_pos, "'%s' is already defined in this library",
|
| + field_name->ToCString());
|
| + }
|
| + if (library_.LookupObject(accessor_name) != Object::null()) {
|
| + ErrorMsg(name_pos, "%s for '%s' is already defined",
|
| + is_getter ? "getter" : "setter",
|
| + field_name->ToCString());
|
| + }
|
| +
|
| if (CurrentToken() == Token::kLBRACE) {
|
| SkipBlock();
|
| } else if (CurrentToken() == Token::kARROW) {
|
|
|