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

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

Issue 2926863002: Handle parameters in compile_from_dill_test (Closed)
Patch Set: Fixes 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 905 matching lines...) Expand 10 before | Expand all | Expand 10 after
916 superclass = getSuperClass(superclass); 916 superclass = getSuperClass(superclass);
917 } 917 }
918 } 918 }
919 919
920 // Use the [:seenClasses:] set to include non-instantiated 920 // Use the [:seenClasses:] set to include non-instantiated
921 // classes: if the superclass of these classes require RTI, then 921 // classes: if the superclass of these classes require RTI, then
922 // they also need RTI, so that a constructor passes the type 922 // they also need RTI, so that a constructor passes the type
923 // variables to the super constructor. 923 // variables to the super constructor.
924 forEachInstantiatedClass(addSubtypes); 924 forEachInstantiatedClass(addSubtypes);
925 925
926 _classHierarchyNodes.keys.toList().forEach(_ensureClassSet);
927
926 return typesImplementedBySubclasses; 928 return typesImplementedBySubclasses;
927 } 929 }
928 } 930 }
929 931
930 abstract class KernelResolutionWorldBuilderBase 932 abstract class KernelResolutionWorldBuilderBase
931 extends ResolutionWorldBuilderBase { 933 extends ResolutionWorldBuilderBase {
932 KernelResolutionWorldBuilderBase( 934 KernelResolutionWorldBuilderBase(
933 ElementEnvironment elementEnvironment, 935 ElementEnvironment elementEnvironment,
934 CommonElements commonElements, 936 CommonElements commonElements,
935 ConstantSystem constantSystem, 937 ConstantSystem constantSystem,
(...skipping 10 matching lines...) Expand all
946 nativeDataBuilder, 948 nativeDataBuilder,
947 interceptorDataBuilder, 949 interceptorDataBuilder,
948 backendUsageBuilder, 950 backendUsageBuilder,
949 selectorConstraintsStrategy); 951 selectorConstraintsStrategy);
950 952
951 @override 953 @override
952 ClosedWorld closeWorld() { 954 ClosedWorld closeWorld() {
953 Map<ClassEntity, Set<ClassEntity>> typesImplementedBySubclasses = 955 Map<ClassEntity, Set<ClassEntity>> typesImplementedBySubclasses =
954 populateHierarchyNodes(); 956 populateHierarchyNodes();
955 _closed = true; 957 _closed = true;
958 assert(
959 _classHierarchyNodes.length == _classSets.length,
960 "ClassHierarchyNode/ClassSet mismatch: "
961 "$_classHierarchyNodes vs $_classSets");
956 return _closedWorldCache = new KernelClosedWorld( 962 return _closedWorldCache = new KernelClosedWorld(
957 commonElements: _commonElements, 963 commonElements: _commonElements,
958 nativeData: _nativeDataBuilder.close(), 964 nativeData: _nativeDataBuilder.close(),
959 interceptorData: _interceptorDataBuilder.close(), 965 interceptorData: _interceptorDataBuilder.close(),
960 backendUsage: _backendUsageBuilder.close(), 966 backendUsage: _backendUsageBuilder.close(),
961 constantSystem: _constantSystem, 967 constantSystem: _constantSystem,
962 resolutionWorldBuilder: this, 968 resolutionWorldBuilder: this,
963 functionSet: _allFunctions.close(), 969 functionSet: _allFunctions.close(),
964 allTypedefs: _allTypedefs, 970 allTypedefs: _allTypedefs,
965 mixinUses: _mixinUses, 971 mixinUses: _mixinUses,
966 typesImplementedBySubclasses: typesImplementedBySubclasses, 972 typesImplementedBySubclasses: typesImplementedBySubclasses,
967 classHierarchyNodes: _classHierarchyNodes, 973 classHierarchyNodes: _classHierarchyNodes,
968 classSets: _classSets); 974 classSets: _classSets);
969 } 975 }
970 976
971 @override 977 @override
972 void registerClass(ClassEntity cls) { 978 void registerClass(ClassEntity cls) {
973 throw new UnimplementedError('KernelResolutionWorldBuilder.registerClass'); 979 throw new UnimplementedError('KernelResolutionWorldBuilder.registerClass');
974 } 980 }
975 } 981 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/ssa/locals_handler.dart ('k') | tests/compiler/dart2js/equivalence/check_functions.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698