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

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

Issue 2982783003: Use failedAt in more places (Closed)
Patch Set: Created 3 years, 5 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
OLDNEW
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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 dart2js.resolution_strategy; 5 library dart2js.resolution_strategy;
6 6
7 import 'package:front_end/src/fasta/scanner.dart' show Token; 7 import 'package:front_end/src/fasta/scanner.dart' show Token;
8 8
9 import '../common.dart'; 9 import '../common.dart';
10 import '../common_elements.dart'; 10 import '../common_elements.dart';
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 cls.ensureResolved(_resolution); 462 cls.ensureResolved(_resolution);
463 Element member = cls.implementation.lookupLocalMember(name); 463 Element member = cls.implementation.lookupLocalMember(name);
464 if (member != null && member.isAbstractField) { 464 if (member != null && member.isAbstractField) {
465 AbstractFieldElement abstractField = member; 465 AbstractFieldElement abstractField = member;
466 if (setter) { 466 if (setter) {
467 member = abstractField.setter; 467 member = abstractField.setter;
468 } else { 468 } else {
469 member = abstractField.getter; 469 member = abstractField.getter;
470 } 470 }
471 if (member == null && required) { 471 if (member == null && required) {
472 throw new SpannableAssertionFailure( 472 failedAt(
473 cls, 473 cls,
474 "The class '${cls.name}' does not contain required " 474 "The class '${cls.name}' does not contain required "
475 "${setter ? 'setter' : 'getter'}: '$name'."); 475 "${setter ? 'setter' : 'getter'}: '$name'.");
476 } 476 }
477 } 477 }
478 if (member == null && required) { 478 if (member == null && required) {
479 throw new SpannableAssertionFailure( 479 throw new SpannableAssertionFailure(
480 cls, 480 cls,
481 "The class '${cls.name}' does not " 481 "The class '${cls.name}' does not "
482 "contain required member: '$name'."); 482 "contain required member: '$name'.");
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 {bool setter: false, bool required: false}) { 564 {bool setter: false, bool required: false}) {
565 Element member = library.implementation.findLocal(name); 565 Element member = library.implementation.findLocal(name);
566 if (member != null && member.isAbstractField) { 566 if (member != null && member.isAbstractField) {
567 AbstractFieldElement abstractField = member; 567 AbstractFieldElement abstractField = member;
568 if (setter) { 568 if (setter) {
569 member = abstractField.setter; 569 member = abstractField.setter;
570 } else { 570 } else {
571 member = abstractField.getter; 571 member = abstractField.getter;
572 } 572 }
573 if (member == null && required) { 573 if (member == null && required) {
574 throw new SpannableAssertionFailure( 574 failedAt(
575 library, 575 library,
576 "The library '${library.canonicalUri}' does not contain required " 576 "The library '${library.canonicalUri}' does not contain required "
577 "${setter ? 'setter' : 'getter'}: '$name'."); 577 "${setter ? 'setter' : 'getter'}: '$name'.");
578 } 578 }
579 } 579 }
580 if (member == null && required) { 580 if (member == null && required) {
581 throw new SpannableAssertionFailure( 581 failedAt(
582 member, 582 member,
583 "The library '${library.libraryName}' does not " 583 "The library '${library.libraryName}' does not "
584 "contain required member: '$name'."); 584 "contain required member: '$name'.");
585 } 585 }
586 return member?.declaration; 586 return member?.declaration;
587 } 587 }
588 588
589 @override 589 @override
590 void forEachLibraryMember( 590 void forEachLibraryMember(
591 covariant LibraryElement library, void f(MemberEntity member)) { 591 covariant LibraryElement library, void f(MemberEntity member)) {
592 library.implementation.forEachLocalMember((Element element) { 592 library.implementation.forEachLocalMember((Element element) {
593 if (!element.isClass && !element.isTypedef) { 593 if (!element.isClass && !element.isTypedef) {
594 MemberElement member = element; 594 MemberElement member = element;
595 f(member); 595 f(member);
596 } 596 }
597 }); 597 });
598 } 598 }
599 599
600 @override 600 @override
601 ClassElement lookupClass(covariant LibraryElement library, String name, 601 ClassElement lookupClass(covariant LibraryElement library, String name,
602 {bool required: false}) { 602 {bool required: false}) {
603 ClassElement cls = library.implementation.findLocal(name); 603 ClassElement cls = library.implementation.findLocal(name);
604 if (cls == null && required) { 604 if (cls == null && required) {
605 throw new SpannableAssertionFailure( 605 failedAt(
606 library, 606 library,
607 "The library '${library.libraryName}' does not " 607 "The library '${library.libraryName}' does not "
608 "contain required class: '$name'."); 608 "contain required class: '$name'.");
609 } 609 }
610 return cls?.declaration; 610 return cls?.declaration;
611 } 611 }
612 612
613 @override 613 @override
614 void forEachClass(covariant LibraryElement library, void f(ClassEntity cls)) { 614 void forEachClass(covariant LibraryElement library, void f(ClassEntity cls)) {
615 library.implementation.forEachLocalMember((dynamic member) { 615 library.implementation.forEachLocalMember((dynamic member) {
616 if (member.isClass) { 616 if (member.isClass) {
617 ClassElement cls = member; 617 ClassElement cls = member;
618 f(cls); 618 f(cls);
619 } 619 }
620 }); 620 });
621 } 621 }
622 622
623 @override 623 @override
624 LibraryElement lookupLibrary(Uri uri, {bool required: false}) { 624 LibraryElement lookupLibrary(Uri uri, {bool required: false}) {
625 LibraryElement library = _libraryProvider.lookupLibrary(uri); 625 LibraryElement library = _libraryProvider.lookupLibrary(uri);
626 // If the script of the library is synthesized, the library does not exist 626 // If the script of the library is synthesized, the library does not exist
627 // and we do not try to load the helpers. 627 // and we do not try to load the helpers.
628 // 628 //
629 // This could for example happen if dart:async is disabled, then loading it 629 // This could for example happen if dart:async is disabled, then loading it
630 // should not try to find the given element. 630 // should not try to find the given element.
631 if (library != null && library.isSynthesized) { 631 if (library != null && library.isSynthesized) {
632 return null; 632 return null;
633 } 633 }
634 if (library == null && required) { 634 if (library == null && required) {
635 throw new SpannableAssertionFailure( 635 failedAt(NO_LOCATION_SPANNABLE, "The library '${uri}' was not found.");
636 NO_LOCATION_SPANNABLE, "The library '${uri}' was not found.");
637 } 636 }
638 return library; 637 return library;
639 } 638 }
640 639
641 @override 640 @override
642 bool isDeferredLoadLibraryGetter(covariant MemberElement member) { 641 bool isDeferredLoadLibraryGetter(covariant MemberElement member) {
643 return member.isDeferredLoaderGetter; 642 return member.isDeferredLoaderGetter;
644 } 643 }
645 644
646 @override 645 @override
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
929 @override 928 @override
930 WorkItem createWorkItem(MemberElement element) { 929 WorkItem createWorkItem(MemberElement element) {
931 assert(element.isDeclaration, failedAt(element)); 930 assert(element.isDeclaration, failedAt(element));
932 if (element.isMalformed) return null; 931 if (element.isMalformed) return null;
933 932
934 assert(element is AnalyzableElement, 933 assert(element is AnalyzableElement,
935 failedAt(element, 'Element $element is not analyzable.')); 934 failedAt(element, 'Element $element is not analyzable.'));
936 return _resolution.createWorkItem(element); 935 return _resolution.createWorkItem(element);
937 } 936 }
938 } 937 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/parser/node_listener.dart ('k') | pkg/compiler/lib/src/resolution/semantic_visitor_mixins.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698