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

Side by Side Diff: pkg/kernel/lib/src/incremental_class_hierarchy.dart

Issue 3003913002: Expose getInterfaceMembers method through ClassHierarchy. (Closed)
Patch Set: Created 3 years, 3 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 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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698