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

Side by Side Diff: dart/pkg/compiler/lib/src/resolution/class_members.dart

Issue 841303002: Non fatal errors on duplicated accessors (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Merged with r42766. Created 5 years, 11 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library resolution.compute_members; 5 library resolution.compute_members;
6 6
7 import '../elements/elements.dart' 7 import '../elements/elements.dart'
8 show Element, 8 show Element,
9 Name, 9 Name,
10 PublicName, 10 PublicName,
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 compiler.reportInfo(superMember.element, 341 compiler.reportInfo(superMember.element,
342 MessageKind.INSTANCE_STATIC_SAME_NAME_CONT); 342 MessageKind.INSTANCE_STATIC_SAME_NAME_CONT);
343 }); 343 });
344 break; 344 break;
345 } 345 }
346 superclass = superclass.superclass; 346 superclass = superclass.superclass;
347 } 347 }
348 } 348 }
349 } else { 349 } else {
350 assert(declared.name == superMember.name); 350 assert(declared.name == superMember.name);
351
351 if (declared.isStatic) { 352 if (declared.isStatic) {
352 for (Member inherited in superMember.declarations) { 353 for (Member inherited in superMember.declarations) {
354 if (cls == inherited.declarer.element) {
355 // An error should already have been reported.
356 assert(invariant(declared.element, compiler.compilationFailed));
357 continue;
358 }
359
353 reportMessage( 360 reportMessage(
354 inherited.element, MessageKind.NO_STATIC_OVERRIDE, () { 361 inherited.element, MessageKind.NO_STATIC_OVERRIDE, () {
355 reportErrorWithContext( 362 reportErrorWithContext(
356 declared.element, MessageKind.NO_STATIC_OVERRIDE, 363 declared.element, MessageKind.NO_STATIC_OVERRIDE,
357 inherited.element, MessageKind.NO_STATIC_OVERRIDE_CONT); 364 inherited.element, MessageKind.NO_STATIC_OVERRIDE_CONT);
358 }); 365 });
359 } 366 }
360 } 367 }
361 368
362 DartType declaredType = declared.functionType; 369 DartType declaredType = declared.functionType;
363 for (Member inherited in superMember.declarations) { 370 for (Member inherited in superMember.declarations) {
371 if (cls == inherited.declarer.element) {
372 // An error should already have been reported.
373 assert(invariant(declared.element, compiler.compilationFailed));
374 continue;
375 }
364 376
365 void reportError(MessageKind errorKind, MessageKind infoKind) { 377 void reportError(MessageKind errorKind, MessageKind infoKind) {
366 reportMessage( 378 reportMessage(
367 inherited.element, MessageKind.INVALID_OVERRIDE_METHOD, () { 379 inherited.element, MessageKind.INVALID_OVERRIDE_METHOD, () {
368 compiler.reportError(declared.element, errorKind, 380 compiler.reportError(declared.element, errorKind,
369 {'name': declared.name.text, 381 {'name': declared.name.text,
370 'class': cls.thisType, 382 'class': cls.thisType,
371 'inheritedClass': inherited.declarer}); 383 'inheritedClass': inherited.declarer});
372 compiler.reportInfo(inherited.element, infoKind, 384 compiler.reportInfo(inherited.element, infoKind,
373 {'name': declared.name.text, 385 {'name': declared.name.text,
(...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after
889 message: "Members have not been fully computed for $this.")); 901 message: "Members have not been fully computed for $this."));
890 if (interfaceMembersAreClassMembers) { 902 if (interfaceMembersAreClassMembers) {
891 classMembers.forEach((_, member) { 903 classMembers.forEach((_, member) {
892 if (!member.isStatic) f(member); 904 if (!member.isStatic) f(member);
893 }); 905 });
894 } else { 906 } else {
895 interfaceMembers.forEach((_, member) => f(member)); 907 interfaceMembers.forEach((_, member) => f(member));
896 } 908 }
897 } 909 }
898 } 910 }
OLDNEW
« no previous file with comments | « dart/pkg/compiler/lib/src/elements/modelx.dart ('k') | dart/pkg/compiler/lib/src/resolution/members.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698