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

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

Issue 2927093002: Support user class in compile_from_dill_test (Closed)
Patch Set: Created 3 years, 6 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 4
5 part of world_builder; 5 part of world_builder;
6 6
7 abstract class ResolutionWorldBuilder implements WorldBuilder, OpenWorld { 7 abstract class ResolutionWorldBuilder implements WorldBuilder, OpenWorld {
8 /// Set of all local functions in the program. Used by the mirror tracking 8 /// Set of all local functions in the program. Used by the mirror tracking
9 /// system to find all live closure instances. 9 /// system to find all live closure instances.
10 Iterable<Local> get localFunctions; 10 Iterable<Local> get localFunctions;
(...skipping 913 matching lines...) Expand 10 before | Expand all | Expand 10 after
924 forEachInstantiatedClass(addSubtypes); 924 forEachInstantiatedClass(addSubtypes);
925 925
926 _classHierarchyNodes.keys.toList().forEach(_ensureClassSet); 926 _classHierarchyNodes.keys.toList().forEach(_ensureClassSet);
927 927
928 return typesImplementedBySubclasses; 928 return typesImplementedBySubclasses;
929 } 929 }
930 } 930 }
931 931
932 abstract class KernelResolutionWorldBuilderBase 932 abstract class KernelResolutionWorldBuilderBase
933 extends ResolutionWorldBuilderBase { 933 extends ResolutionWorldBuilderBase {
934 KernelToElementMapImpl get elementMap;
935
934 KernelResolutionWorldBuilderBase( 936 KernelResolutionWorldBuilderBase(
935 ElementEnvironment elementEnvironment, 937 ElementEnvironment elementEnvironment,
936 CommonElements commonElements, 938 CommonElements commonElements,
937 ConstantSystem constantSystem, 939 ConstantSystem constantSystem,
938 NativeBasicData nativeBasicData, 940 NativeBasicData nativeBasicData,
939 NativeDataBuilder nativeDataBuilder, 941 NativeDataBuilder nativeDataBuilder,
940 InterceptorDataBuilder interceptorDataBuilder, 942 InterceptorDataBuilder interceptorDataBuilder,
941 BackendUsageBuilder backendUsageBuilder, 943 BackendUsageBuilder backendUsageBuilder,
942 SelectorConstraintsStrategy selectorConstraintsStrategy) 944 SelectorConstraintsStrategy selectorConstraintsStrategy)
943 : super( 945 : super(
944 elementEnvironment, 946 elementEnvironment,
945 commonElements, 947 commonElements,
946 constantSystem, 948 constantSystem,
947 nativeBasicData, 949 nativeBasicData,
948 nativeDataBuilder, 950 nativeDataBuilder,
949 interceptorDataBuilder, 951 interceptorDataBuilder,
950 backendUsageBuilder, 952 backendUsageBuilder,
951 selectorConstraintsStrategy); 953 selectorConstraintsStrategy);
952 954
953 @override 955 @override
954 ClosedWorld closeWorld() { 956 ClosedWorld closeWorld() {
955 Map<ClassEntity, Set<ClassEntity>> typesImplementedBySubclasses = 957 Map<ClassEntity, Set<ClassEntity>> typesImplementedBySubclasses =
956 populateHierarchyNodes(); 958 populateHierarchyNodes();
957 _closed = true; 959 _closed = true;
958 assert( 960 assert(
959 _classHierarchyNodes.length == _classSets.length, 961 _classHierarchyNodes.length == _classSets.length,
960 "ClassHierarchyNode/ClassSet mismatch: " 962 "ClassHierarchyNode/ClassSet mismatch: "
961 "$_classHierarchyNodes vs $_classSets"); 963 "$_classHierarchyNodes vs $_classSets");
962 return _closedWorldCache = new KernelClosedWorld( 964 return _closedWorldCache = new KernelClosedWorld(elementMap,
965 elementEnvironment: _elementEnvironment,
963 commonElements: _commonElements, 966 commonElements: _commonElements,
964 nativeData: _nativeDataBuilder.close(), 967 nativeData: _nativeDataBuilder.close(),
965 interceptorData: _interceptorDataBuilder.close(), 968 interceptorData: _interceptorDataBuilder.close(),
966 backendUsage: _backendUsageBuilder.close(), 969 backendUsage: _backendUsageBuilder.close(),
967 constantSystem: _constantSystem, 970 constantSystem: _constantSystem,
968 resolutionWorldBuilder: this, 971 resolutionWorldBuilder: this,
969 functionSet: _allFunctions.close(), 972 functionSet: _allFunctions.close(),
970 allTypedefs: _allTypedefs, 973 allTypedefs: _allTypedefs,
971 mixinUses: _mixinUses, 974 mixinUses: _mixinUses,
972 typesImplementedBySubclasses: typesImplementedBySubclasses, 975 typesImplementedBySubclasses: typesImplementedBySubclasses,
973 classHierarchyNodes: _classHierarchyNodes, 976 classHierarchyNodes: _classHierarchyNodes,
974 classSets: _classSets); 977 classSets: _classSets);
975 } 978 }
976 979
977 @override 980 @override
978 void registerClass(ClassEntity cls) { 981 void registerClass(ClassEntity cls) {
979 throw new UnimplementedError('KernelResolutionWorldBuilder.registerClass'); 982 throw new UnimplementedError('KernelResolutionWorldBuilder.registerClass');
980 } 983 }
981 } 984 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698