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

Side by Side Diff: pkg/compiler/lib/src/universe/class_set.dart

Issue 2366363002: Move remaining functionality from ClassWorld to ClosedWorld (Closed)
Patch Set: Created 4 years, 2 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) 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.world.class_set; 5 library dart2js.world.class_set;
6 6
7 import 'dart:collection' show IterableBase; 7 import 'dart:collection' show IterableBase;
8 8
9 import '../elements/elements.dart' show ClassElement; 9 import '../elements/elements.dart' show ClassElement;
10 import '../util/enumset.dart' show EnumSet; 10 import '../util/enumset.dart' show EnumSet;
11 import '../util/util.dart' show Link; 11 import '../util/util.dart' show Link;
12 12
13 /// Enum for the different kinds of instantiation of a class. 13 /// Enum for the different kinds of instantiation of a class.
14 enum Instantiation { 14 enum Instantiation {
15 UNINSTANTIATED, 15 UNINSTANTIATED,
16 DIRECTLY_INSTANTIATED, 16 DIRECTLY_INSTANTIATED,
17 INDIRECTLY_INSTANTIATED, 17 INDIRECTLY_INSTANTIATED,
18 } 18 }
19 19
20 /// Node for [cls] in a tree forming the subclass relation of [ClassElement]s. 20 /// Node for [cls] in a tree forming the subclass relation of [ClassElement]s.
21 /// 21 ///
22 /// This is used by the [ClassWorld] to perform queries on subclass and subtype 22 /// This is used by the [ClosedWorld] to perform queries on subclass and subtype
23 /// relations. 23 /// relations.
24 /// 24 ///
25 /// For this class hierarchy: 25 /// For this class hierarchy:
26 /// 26 ///
27 /// class A {} 27 /// class A {}
28 /// class B extends A {} 28 /// class B extends A {}
29 /// class C extends A {} 29 /// class C extends A {}
30 /// class D extends B {} 30 /// class D extends B {}
31 /// class E extends D {} 31 /// class E extends D {}
32 /// 32 ///
(...skipping 817 matching lines...) Expand 10 before | Expand all | Expand 10 after
850 STOP, 850 STOP,
851 851
852 /// Iteration skips the subclasses of the current class. 852 /// Iteration skips the subclasses of the current class.
853 SKIP_SUBCLASSES, 853 SKIP_SUBCLASSES,
854 } 854 }
855 855
856 /// Visiting function used for the `forEachX` functions of [ClassHierarchyNode] 856 /// Visiting function used for the `forEachX` functions of [ClassHierarchyNode]
857 /// and [ClassSet]. The return value controls the continued iteration. If `null` 857 /// and [ClassSet]. The return value controls the continued iteration. If `null`
858 /// is returned, iteration continues to the end. 858 /// is returned, iteration continues to the end.
859 typedef IterationStep ForEachFunction(ClassElement cls); 859 typedef IterationStep ForEachFunction(ClassElement cls);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698