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

Side by Side Diff: pkg/compiler/lib/src/enqueue.dart

Issue 1394793004: Move WorldImpact to universe/world_impact.dart (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 2 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 dart2js.enqueue; 5 library dart2js.enqueue;
6 6
7 import 'dart:collection' show 7 import 'dart:collection' show
8 Queue; 8 Queue;
9 9
10 import 'common.dart'; 10 import 'common.dart';
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 Name, 44 Name,
45 TypedElement, 45 TypedElement,
46 TypedefElement; 46 TypedefElement;
47 import 'js/js.dart' as js; 47 import 'js/js.dart' as js;
48 import 'native/native.dart' as native; 48 import 'native/native.dart' as native;
49 import 'types/types.dart' show 49 import 'types/types.dart' show
50 TypeMaskStrategy; 50 TypeMaskStrategy;
51 import 'universe/selector.dart' show 51 import 'universe/selector.dart' show
52 Selector; 52 Selector;
53 import 'universe/universe.dart'; 53 import 'universe/universe.dart';
54 import 'universe/world_impact.dart' show
55 WorldImpact;
54 import 'util/util.dart' show 56 import 'util/util.dart' show
55 Link, 57 Link,
56 Setlet; 58 Setlet;
57 59
58 typedef ItemCompilationContext ItemCompilationContextCreator(); 60 typedef ItemCompilationContext ItemCompilationContextCreator();
59 61
60 class EnqueueTask extends CompilerTask { 62 class EnqueueTask extends CompilerTask {
61 final ResolutionEnqueuer resolution; 63 final ResolutionEnqueuer resolution;
62 final CodegenEnqueuer codegen; 64 final CodegenEnqueuer codegen;
63 65
(...skipping 15 matching lines...) Expand all
79 resolution.nativeEnqueuer = 81 resolution.nativeEnqueuer =
80 compiler.backend.nativeResolutionEnqueuer(resolution); 82 compiler.backend.nativeResolutionEnqueuer(resolution);
81 } 83 }
82 84
83 void forgetElement(Element element) { 85 void forgetElement(Element element) {
84 resolution.forgetElement(element); 86 resolution.forgetElement(element);
85 codegen.forgetElement(element); 87 codegen.forgetElement(element);
86 } 88 }
87 } 89 }
88 90
89 class WorldImpact {
90 const WorldImpact();
91
92 Iterable<UniverseSelector> get dynamicInvocations =>
93 const <UniverseSelector>[];
94 Iterable<UniverseSelector> get dynamicGetters => const <UniverseSelector>[];
95 Iterable<UniverseSelector> get dynamicSetters => const <UniverseSelector>[];
96
97 // TODO(johnniwinther): Split this into more precise subsets.
98 Iterable<Element> get staticUses => const <Element>[];
99
100 // TODO(johnniwinther): Replace this by called constructors with type
101 // arguments.
102 Iterable<InterfaceType> get instantiatedTypes => const <InterfaceType>[];
103
104 // TODO(johnniwinther): Collect checked types for checked mode separately to
105 // support serialization.
106 Iterable<DartType> get isChecks => const <DartType>[];
107
108 Iterable<DartType> get checkedModeChecks => const <DartType>[];
109
110 Iterable<DartType> get asCasts => const <DartType>[];
111
112 Iterable<MethodElement> get closurizedFunctions => const <MethodElement>[];
113
114 Iterable<LocalFunctionElement> get closures => const <LocalFunctionElement>[];
115
116 Iterable<DartType> get typeLiterals => const <DartType>[];
117
118 String toString() {
119 StringBuffer sb = new StringBuffer();
120
121 void add(String title, Iterable iterable) {
122 if (iterable.isNotEmpty) {
123 sb.write('\n $title:');
124 iterable.forEach((e) => sb.write('\n $e'));
125 }
126 }
127
128 add('dynamic invocations', dynamicInvocations);
129 add('dynamic getters', dynamicGetters);
130 add('dynamic setters', dynamicSetters);
131 add('static uses', staticUses);
132 add('instantiated types', instantiatedTypes);
133 add('is-checks', isChecks);
134 add('checked-mode checks', checkedModeChecks);
135 add('as-casts', asCasts);
136 add('closurized functions', closurizedFunctions);
137 add('closures', closures);
138 add('type literals', typeLiterals);
139
140 return sb.toString();
141 }
142 }
143
144 abstract class Enqueuer { 91 abstract class Enqueuer {
145 final String name; 92 final String name;
146 final Compiler compiler; // TODO(ahe): Remove this dependency. 93 final Compiler compiler; // TODO(ahe): Remove this dependency.
147 final EnqueuerStrategy strategy; 94 final EnqueuerStrategy strategy;
148 final ItemCompilationContextCreator itemCompilationContextCreator; 95 final ItemCompilationContextCreator itemCompilationContextCreator;
149 final Map<String, Set<Element>> instanceMembersByName 96 final Map<String, Set<Element>> instanceMembersByName
150 = new Map<String, Set<Element>>(); 97 = new Map<String, Set<Element>>();
151 final Map<String, Set<Element>> instanceFunctionsByName 98 final Map<String, Set<Element>> instanceFunctionsByName
152 = new Map<String, Set<Element>>(); 99 = new Map<String, Set<Element>>();
153 final Set<ClassElement> _processedClasses = new Set<ClassElement>(); 100 final Set<ClassElement> _processedClasses = new Set<ClassElement>();
(...skipping 956 matching lines...) Expand 10 before | Expand all | Expand 10 after
1110 @override 1057 @override
1111 void processStaticUse(Enqueuer enqueuer, Element element) { 1058 void processStaticUse(Enqueuer enqueuer, Element element) {
1112 enqueuer.registerStaticUseInternal(element); 1059 enqueuer.registerStaticUseInternal(element);
1113 } 1060 }
1114 1061
1115 @override 1062 @override
1116 void processSelector(Enqueuer enqueuer, UniverseSelector selector) { 1063 void processSelector(Enqueuer enqueuer, UniverseSelector selector) {
1117 enqueuer.handleUnseenSelectorInternal(selector); 1064 enqueuer.handleUnseenSelectorInternal(selector);
1118 } 1065 }
1119 } 1066 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/deferred_load.dart ('k') | pkg/compiler/lib/src/js_backend/js_backend.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698