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

Unified Diff: pkg/front_end/lib/src/fasta/builder/class_builder.dart

Issue 2759173002: Switch to IdentifierContext. (Closed)
Patch Set: Status file. Created 3 years, 9 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
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;
« no previous file with comments | « pkg/front_end/lib/src/fasta/builder/builder.dart ('k') | pkg/front_end/lib/src/fasta/builder/dynamic_type_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698