| Index: pkg/front_end/lib/src/fasta/builder/class_builder.dart
|
| diff --git a/pkg/front_end/lib/src/fasta/builder/class_builder.dart b/pkg/front_end/lib/src/fasta/builder/class_builder.dart
|
| index 991c2367d7eaafb31fb03ee4667288a12478d115..cee4ee42a6a1a9f84f3b12eccacfd301dadce081 100644
|
| --- a/pkg/front_end/lib/src/fasta/builder/class_builder.dart
|
| +++ b/pkg/front_end/lib/src/fasta/builder/class_builder.dart
|
| @@ -18,7 +18,7 @@ import 'builder.dart'
|
| TypeDeclarationBuilder,
|
| TypeVariableBuilder;
|
|
|
| -import 'scope.dart' show AmbiguousBuilder, Scope;
|
| +import 'scope.dart' show AccessErrorBuilder, AmbiguousBuilder, Scope;
|
|
|
| abstract class ClassBuilder<T extends TypeBuilder, R>
|
| extends TypeDeclarationBuilder<T, R> {
|
| @@ -93,11 +93,24 @@ abstract class ClassBuilder<T extends TypeBuilder, R>
|
| } else if (current.isSetter && setterBuilder == null) {
|
| setterBuilder = current;
|
| } else {
|
| - return new AmbiguousBuilder(builder, charOffset, fileUri);
|
| + return new AmbiguousBuilder(name, builder, charOffset, fileUri);
|
| }
|
| current = current.next;
|
| }
|
| + if (getterBuilder?.isInstanceMember ?? false) {
|
| + getterBuilder = null;
|
| + }
|
| + if (setterBuilder?.isInstanceMember ?? false) {
|
| + setterBuilder = null;
|
| + }
|
| builder = isSetter ? setterBuilder : getterBuilder;
|
| + if (builder == null) {
|
| + if (isSetter && getterBuilder != null) {
|
| + return new AccessErrorBuilder(name, getterBuilder, charOffset, fileUri);
|
| + } else if (!isSetter && setterBuilder != null) {
|
| + return new AccessErrorBuilder(name, setterBuilder, charOffset, fileUri);
|
| + }
|
| + }
|
| }
|
| if (builder == null) {
|
| return null;
|
|
|