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 | 4 |
5 part of dart2js.kernel.element_map; | 5 part of dart2js.kernel.element_map; |
6 | 6 |
7 /// Support for subtype checks of kernel based [DartType]s. | 7 /// Support for subtype checks of kernel based [DartType]s. |
8 class _KernelDartTypes extends DartTypes { | 8 class _KernelDartTypes extends DartTypes { |
9 final KernelToElementMapImpl elementMap; | 9 final KernelToElementMapImpl elementMap; |
10 final SubtypeVisitor<DartType> subtypeVisitor; | 10 final SubtypeVisitor<DartType> subtypeVisitor; |
(...skipping 28 matching lines...) Expand all Loading... |
39 InterfaceType getSupertype(ClassEntity cls) { | 39 InterfaceType getSupertype(ClassEntity cls) { |
40 return elementMap._getSuperType(cls); | 40 return elementMap._getSuperType(cls); |
41 } | 41 } |
42 | 42 |
43 @override | 43 @override |
44 Iterable<InterfaceType> getSupertypes(ClassEntity cls) { | 44 Iterable<InterfaceType> getSupertypes(ClassEntity cls) { |
45 return elementMap._getOrderedTypeSet(cls).supertypes; | 45 return elementMap._getOrderedTypeSet(cls).supertypes; |
46 } | 46 } |
47 | 47 |
48 @override | 48 @override |
| 49 Iterable<InterfaceType> getInterfaces(ClassEntity cls) { |
| 50 return elementMap._getInterfaces(cls); |
| 51 } |
| 52 |
| 53 @override |
49 InterfaceType asInstanceOf(InterfaceType type, ClassEntity cls) { | 54 InterfaceType asInstanceOf(InterfaceType type, ClassEntity cls) { |
50 return elementMap._asInstanceOf(type, cls); | 55 return elementMap._asInstanceOf(type, cls); |
51 } | 56 } |
52 | 57 |
53 @override | 58 @override |
54 DartType substByContext(DartType base, InterfaceType context) { | 59 DartType substByContext(DartType base, InterfaceType context) { |
55 return elementMap._substByContext(base, context); | 60 return elementMap._substByContext(base, context); |
56 } | 61 } |
57 | 62 |
58 @override | 63 @override |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 | 134 |
130 _KernelSubtypeVisitor(this.elementMap); | 135 _KernelSubtypeVisitor(this.elementMap); |
131 } | 136 } |
132 | 137 |
133 class _KernelPotentialSubtypeVisitor extends PotentialSubtypeVisitor<DartType> | 138 class _KernelPotentialSubtypeVisitor extends PotentialSubtypeVisitor<DartType> |
134 with _AbstractTypeRelationMixin { | 139 with _AbstractTypeRelationMixin { |
135 final KernelToElementMapImpl elementMap; | 140 final KernelToElementMapImpl elementMap; |
136 | 141 |
137 _KernelPotentialSubtypeVisitor(this.elementMap); | 142 _KernelPotentialSubtypeVisitor(this.elementMap); |
138 } | 143 } |
OLD | NEW |