| OLD | NEW |
| 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 library kernel.incremental_class_hierarchy; | 4 library kernel.incremental_class_hierarchy; |
| 5 | 5 |
| 6 import 'dart:collection'; | 6 import 'dart:collection'; |
| 7 import 'dart:math'; | 7 import 'dart:math'; |
| 8 | 8 |
| 9 import 'package:kernel/ast.dart'; | 9 import 'package:kernel/ast.dart'; |
| 10 import 'package:kernel/class_hierarchy.dart'; | 10 import 'package:kernel/class_hierarchy.dart'; |
| (...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 264 | 264 |
| 265 @override | 265 @override |
| 266 Member getInterfaceMember(Class node, Name name, {bool setter: false}) { | 266 Member getInterfaceMember(Class node, Name name, {bool setter: false}) { |
| 267 _ClassInfo info = _getInfo(node); | 267 _ClassInfo info = _getInfo(node); |
| 268 List<Member> members = | 268 List<Member> members = |
| 269 setter ? info.interfaceSetters : info.interfaceGettersAndCalls; | 269 setter ? info.interfaceSetters : info.interfaceGettersAndCalls; |
| 270 return _findMemberByName(members, name); | 270 return _findMemberByName(members, name); |
| 271 } | 271 } |
| 272 | 272 |
| 273 @override | 273 @override |
| 274 List<Member> getInterfaceMembers(Class class_, {bool setters: false}) { |
| 275 var info = _getInfo(class_); |
| 276 return setters ? info.interfaceSetters : info.interfaceGettersAndCalls; |
| 277 } |
| 278 |
| 279 @override |
| 274 Iterable<Class> getOrderedClasses(Iterable<Class> unordered) { | 280 Iterable<Class> getOrderedClasses(Iterable<Class> unordered) { |
| 275 unordered.forEach(_getInfo); | 281 unordered.forEach(_getInfo); |
| 276 var unorderedSet = unordered.toSet(); | 282 var unorderedSet = unordered.toSet(); |
| 277 return _info.keys.where(unorderedSet.contains); | 283 return _info.keys.where(unorderedSet.contains); |
| 278 } | 284 } |
| 279 | 285 |
| 280 @override | 286 @override |
| 281 List<Class> getRankedSuperclasses(Class node) { | 287 List<Class> getRankedSuperclasses(Class node) { |
| 282 var info = _getInfo(node); | 288 var info = _getInfo(node); |
| 283 return _getRankedSuperclassList(info).map((info) => info.node).toList(); | 289 return _getRankedSuperclassList(info).map((info) => info.node).toList(); |
| (...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 737 class _LubHeap extends Heap<_ClassInfo> { | 743 class _LubHeap extends Heap<_ClassInfo> { |
| 738 @override | 744 @override |
| 739 bool sortsBefore(_ClassInfo a, _ClassInfo b) => sortsBeforeStatic(a, b); | 745 bool sortsBefore(_ClassInfo a, _ClassInfo b) => sortsBeforeStatic(a, b); |
| 740 | 746 |
| 741 static bool sortsBeforeStatic(_ClassInfo a, _ClassInfo b) { | 747 static bool sortsBeforeStatic(_ClassInfo a, _ClassInfo b) { |
| 742 if (a.depth > b.depth) return true; | 748 if (a.depth > b.depth) return true; |
| 743 if (a.depth < b.depth) return false; | 749 if (a.depth < b.depth) return false; |
| 744 return a.id < b.id; | 750 return a.id < b.id; |
| 745 } | 751 } |
| 746 } | 752 } |
| OLD | NEW |