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

Side by Side Diff: pkg/compiler/lib/src/inferrer/inferrer_engine.dart

Issue 2967003002: Split TypeSystem.typeInformations into member/parameter info (Closed)
Patch Set: Created 3 years, 5 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
« no previous file with comments | « no previous file | pkg/compiler/lib/src/inferrer/type_graph_inferrer.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 import 'package:kernel/ast.dart' as ir; 5 import 'package:kernel/ast.dart' as ir;
6 6
7 import '../common.dart'; 7 import '../common.dart';
8 import '../common/names.dart'; 8 import '../common/names.dart';
9 import '../compiler.dart'; 9 import '../compiler.dart';
10 import '../constants/expressions.dart'; 10 import '../constants/expressions.dart';
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after
614 } 614 }
615 workQueue.addAll(info.users); 615 workQueue.addAll(info.users);
616 if (info.hasStableType(this)) { 616 if (info.hasStableType(this)) {
617 info.stabilize(this); 617 info.stabilize(this);
618 } 618 }
619 } 619 }
620 } 620 }
621 } 621 }
622 622
623 void buildWorkQueue() { 623 void buildWorkQueue() {
624 workQueue.addAll(types.typeInformations.values); 624 workQueue.addAll(types.orderedTypeInformations);
625 workQueue.addAll(types.allocatedTypes); 625 workQueue.addAll(types.allocatedTypes);
626 workQueue.addAll(types.allocatedClosures); 626 workQueue.addAll(types.allocatedClosures);
627 workQueue.addAll(types.allocatedCalls); 627 workQueue.addAll(types.allocatedCalls);
628 } 628 }
629 629
630 /** 630 /**
631 * Update the assignments to parameters in the graph. [remove] tells 631 * Update the assignments to parameters in the graph. [remove] tells
632 * wheter assignments must be added or removed. If [init] is false, 632 * wheter assignments must be added or removed. If [init] is false,
633 * parameters are added to the work queue. 633 * parameters are added to the work queue.
634 */ 634 */
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after
1030 } 1030 }
1031 1031
1032 void clear() { 1032 void clear() {
1033 void cleanup(TypeInformation info) => info.cleanup(); 1033 void cleanup(TypeInformation info) => info.cleanup();
1034 1034
1035 types.allocatedCalls.forEach(cleanup); 1035 types.allocatedCalls.forEach(cleanup);
1036 types.allocatedCalls.clear(); 1036 types.allocatedCalls.clear();
1037 1037
1038 defaultTypeOfParameter.clear(); 1038 defaultTypeOfParameter.clear();
1039 1039
1040 types.typeInformations.values.forEach(cleanup); 1040 types.parameterTypeInformations.values.forEach(cleanup);
1041 types.memberTypeInformations.values.forEach(cleanup);
1041 1042
1042 types.allocatedTypes.forEach(cleanup); 1043 types.allocatedTypes.forEach(cleanup);
1043 types.allocatedTypes.clear(); 1044 types.allocatedTypes.clear();
1044 1045
1045 types.concreteTypes.clear(); 1046 types.concreteTypes.clear();
1046 1047
1047 types.allocatedClosures.forEach(cleanup); 1048 types.allocatedClosures.forEach(cleanup);
1048 types.allocatedClosures.clear(); 1049 types.allocatedClosures.clear();
1049 1050
1050 analyzedElements.clear(); 1051 analyzedElements.clear();
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1106 /** 1107 /**
1107 * Records that the captured variable [local] is read. 1108 * Records that the captured variable [local] is read.
1108 */ 1109 */
1109 void recordCapturedLocalRead(Local local) {} 1110 void recordCapturedLocalRead(Local local) {}
1110 1111
1111 /** 1112 /**
1112 * Records that the variable [local] is being updated. 1113 * Records that the variable [local] is being updated.
1113 */ 1114 */
1114 void recordLocalUpdate(Local local, TypeInformation type) {} 1115 void recordLocalUpdate(Local local, TypeInformation type) {}
1115 } 1116 }
OLDNEW
« no previous file with comments | « no previous file | pkg/compiler/lib/src/inferrer/type_graph_inferrer.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698