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

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

Issue 2537303004: Disallow `null` in spanFromSpannable. (Closed)
Patch Set: Created 4 years 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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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.class_hierarchy; 5 library dart2js.resolution.class_hierarchy;
6 6
7 import '../common.dart'; 7 import '../common.dart';
8 import '../common/resolution.dart' show Resolution; 8 import '../common/resolution.dart' show Resolution;
9 import '../core_types.dart' show CoreClasses, CoreTypes; 9 import '../core_types.dart' show CoreClasses, CoreTypes;
10 import '../dart_types.dart'; 10 import '../dart_types.dart';
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 } 475 }
476 476
477 Link<DartType> resolveInterfaces(NodeList interfaces, Node superclass) { 477 Link<DartType> resolveInterfaces(NodeList interfaces, Node superclass) {
478 Link<DartType> result = const Link<DartType>(); 478 Link<DartType> result = const Link<DartType>();
479 if (interfaces == null) return result; 479 if (interfaces == null) return result;
480 for (Link<Node> link = interfaces.nodes; !link.isEmpty; link = link.tail) { 480 for (Link<Node> link = interfaces.nodes; !link.isEmpty; link = link.tail) {
481 DartType interfaceType = resolveType(link.head); 481 DartType interfaceType = resolveType(link.head);
482 if (interfaceType != null) { 482 if (interfaceType != null) {
483 if (interfaceType.isMalformed) { 483 if (interfaceType.isMalformed) {
484 reporter.reportErrorMessage( 484 reporter.reportErrorMessage(
485 superclass, 485 link.head,
486 MessageKind.CANNOT_IMPLEMENT_MALFORMED, 486 MessageKind.CANNOT_IMPLEMENT_MALFORMED,
487 {'className': element.name, 'malformedType': interfaceType}); 487 {'className': element.name, 'malformedType': interfaceType});
488 } else if (interfaceType.isEnumType) { 488 } else if (interfaceType.isEnumType) {
489 reporter.reportErrorMessage( 489 reporter.reportErrorMessage(
490 superclass, 490 link.head,
491 MessageKind.CANNOT_IMPLEMENT_ENUM, 491 MessageKind.CANNOT_IMPLEMENT_ENUM,
492 {'className': element.name, 'enumType': interfaceType}); 492 {'className': element.name, 'enumType': interfaceType});
493 } else if (!interfaceType.isInterfaceType) { 493 } else if (!interfaceType.isInterfaceType) {
494 // TODO(johnniwinther): Handle dynamic. 494 // TODO(johnniwinther): Handle dynamic.
495 TypeAnnotation typeAnnotation = link.head; 495 TypeAnnotation typeAnnotation = link.head;
496 reporter.reportErrorMessage( 496 reporter.reportErrorMessage(
497 typeAnnotation.typeName, MessageKind.CLASS_NAME_EXPECTED); 497 typeAnnotation.typeName, MessageKind.CLASS_NAME_EXPECTED);
498 } else { 498 } else {
499 if (interfaceType == element.supertype) { 499 if (interfaceType == element.supertype) {
500 reporter.reportErrorMessage( 500 reporter.reportErrorMessage(
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
645 Identifier selector = node.selector.asIdentifier(); 645 Identifier selector = node.selector.asIdentifier();
646 var e = prefixElement.lookupLocalMember(selector.source); 646 var e = prefixElement.lookupLocalMember(selector.source);
647 if (e == null || !e.impliesType) { 647 if (e == null || !e.impliesType) {
648 reporter.reportErrorMessage(node.selector, 648 reporter.reportErrorMessage(node.selector,
649 MessageKind.CANNOT_RESOLVE_TYPE, {'typeName': node.selector}); 649 MessageKind.CANNOT_RESOLVE_TYPE, {'typeName': node.selector});
650 return; 650 return;
651 } 651 }
652 loadSupertype(e, node); 652 loadSupertype(e, node);
653 } 653 }
654 } 654 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/library_loader.dart ('k') | pkg/compiler/lib/src/resolution/constructors.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698