| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 kernel.class_hierarchy_basic; | 5 library kernel.class_hierarchy_basic; |
| 6 | 6 |
| 7 import 'package:kernel/class_hierarchy.dart'; | |
| 8 import 'package:kernel/type_algebra.dart'; | 7 import 'package:kernel/type_algebra.dart'; |
| 9 import 'package:kernel/ast.dart'; | 8 import 'package:kernel/ast.dart'; |
| 10 | 9 |
| 11 /// A simple implementation of the class hierarchy interface using | 10 /// A simple implementation of the class hierarchy interface using |
| 12 /// hash tables for everything. | 11 /// hash tables for everything. |
| 13 class BasicClassHierarchy implements ClassHierarchy { | 12 class BasicClassHierarchy { |
| 14 final Map<Class, Set<Class>> superclasses = <Class, Set<Class>>{}; | 13 final Map<Class, Set<Class>> superclasses = <Class, Set<Class>>{}; |
| 15 final Map<Class, Set<Class>> superMixtures = <Class, Set<Class>>{}; | 14 final Map<Class, Set<Class>> superMixtures = <Class, Set<Class>>{}; |
| 16 final Map<Class, Set<Class>> supertypes = <Class, Set<Class>>{}; | 15 final Map<Class, Set<Class>> supertypes = <Class, Set<Class>>{}; |
| 17 final Map<Class, Map<Class, Supertype>> supertypeInstantiations = | 16 final Map<Class, Map<Class, Supertype>> supertypeInstantiations = |
| 18 <Class, Map<Class, Supertype>>{}; | 17 <Class, Map<Class, Supertype>>{}; |
| 19 final Map<Class, Map<Name, Member>> gettersAndCalls = | 18 final Map<Class, Map<Name, Member>> gettersAndCalls = |
| 20 <Class, Map<Name, Member>>{}; | 19 <Class, Map<Name, Member>>{}; |
| 21 final Map<Class, Map<Name, Member>> setters = <Class, Map<Name, Member>>{}; | 20 final Map<Class, Map<Name, Member>> setters = <Class, Map<Name, Member>>{}; |
| 22 final Map<Class, Map<Name, List<Member>>> interfaceGettersAndCalls = | 21 final Map<Class, Map<Name, List<Member>>> interfaceGettersAndCalls = |
| 23 <Class, Map<Name, List<Member>>>{}; | 22 <Class, Map<Name, List<Member>>>{}; |
| (...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 245 int getClassIndex(Class node) { | 244 int getClassIndex(Class node) { |
| 246 return classIndex[node]; | 245 return classIndex[node]; |
| 247 } | 246 } |
| 248 | 247 |
| 249 List<int> getExpenseHistogram() => <int>[]; | 248 List<int> getExpenseHistogram() => <int>[]; |
| 250 double getCompressionRatio() => 0.0; | 249 double getCompressionRatio() => 0.0; |
| 251 int getSuperTypeHashTableSize() => 0; | 250 int getSuperTypeHashTableSize() => 0; |
| 252 | 251 |
| 253 noSuchMethod(inv) => super.noSuchMethod(inv); | 252 noSuchMethod(inv) => super.noSuchMethod(inv); |
| 254 } | 253 } |
| OLD | NEW |