| OLD | NEW |
| 1 // Copyright (c) 2015, the Fletch project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Fletch 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.md file. | 3 // BSD-style license that can be found in the LICENSE.md file. |
| 4 | 4 |
| 5 import 'package:compiler/src/enqueue.dart' show |
| 6 CodegenEnqueuer, |
| 7 EnqueueTask, |
| 8 EnqueuerStrategy, |
| 9 ItemCompilationContextCreator, |
| 10 QueueFilter; |
| 11 |
| 12 import 'package:compiler/src/compiler.dart' show |
| 13 Compiler; |
| 14 |
| 15 import 'package:compiler/src/elements/elements.dart' show |
| 16 ClassElement, |
| 17 ConstructorElement, |
| 18 Element, |
| 19 FunctionElement, |
| 20 LibraryElement, |
| 21 LocalFunctionElement, |
| 22 TypedElement; |
| 23 |
| 24 import 'package:compiler/src/universe/universe.dart' show |
| 25 Universe; |
| 26 |
| 27 import 'package:compiler/src/universe/use.dart' show |
| 28 DynamicUse, |
| 29 StaticUse, |
| 30 TypeUse; |
| 31 |
| 32 import 'package:compiler/src/universe/world_impact.dart' show |
| 33 WorldImpact; |
| 34 |
| 35 import 'package:compiler/src/dart_types.dart' show |
| 36 DartType, |
| 37 InterfaceType; |
| 38 |
| 39 import 'package:compiler/src/common/work.dart' show |
| 40 WorkItem; |
| 41 |
| 42 import 'package:compiler/src/common/resolution.dart' show |
| 43 Resolution; |
| 44 |
| 45 import 'package:compiler/src/diagnostics/diagnostic_listener.dart' show |
| 46 DiagnosticReporter; |
| 47 |
| 48 import 'dart:collection' show |
| 49 Queue; |
| 50 |
| 51 |
| 5 // TODO(ahe): Get rid of this file. Perhaps by having [FletchEnqueuer] extend | 52 // TODO(ahe): Get rid of this file. Perhaps by having [FletchEnqueuer] extend |
| 6 // [CodegenEnqueuer]. | 53 // [CodegenEnqueuer]. |
| 7 part of fletchc.fletch_enqueuer; | |
| 8 | 54 |
| 9 get notImplemented => throw "not implemented"; | 55 get notImplemented => throw "not implemented"; |
| 10 | 56 |
| 11 class EnqueuerMixin implements CodegenEnqueuer { | 57 class EnqueuerMixin implements CodegenEnqueuer { |
| 12 @override | |
| 13 String get name => notImplemented; | 58 String get name => notImplemented; |
| 14 | 59 |
| 15 @override | |
| 16 Compiler get compiler => notImplemented; | 60 Compiler get compiler => notImplemented; |
| 17 | 61 |
| 18 @override | |
| 19 ItemCompilationContextCreator get itemCompilationContextCreator | 62 ItemCompilationContextCreator get itemCompilationContextCreator |
| 20 => notImplemented; | 63 => notImplemented; |
| 21 | 64 |
| 22 @override | |
| 23 Map<String, Set<Element>> get instanceMembersByName => notImplemented; | 65 Map<String, Set<Element>> get instanceMembersByName => notImplemented; |
| 24 | 66 |
| 25 @override | |
| 26 Map<String, Set<Element>> get instanceFunctionsByName => notImplemented; | 67 Map<String, Set<Element>> get instanceFunctionsByName => notImplemented; |
| 27 | 68 |
| 28 @override | |
| 29 Set<ClassElement> get recentClasses => notImplemented; | 69 Set<ClassElement> get recentClasses => notImplemented; |
| 30 | 70 |
| 31 @override | |
| 32 set recentClasses(Set<ClassElement> value) => notImplemented; | 71 set recentClasses(Set<ClassElement> value) => notImplemented; |
| 33 | 72 |
| 34 @override | |
| 35 Universe get universe => notImplemented; | 73 Universe get universe => notImplemented; |
| 36 | 74 |
| 37 @override | |
| 38 bool get queueIsClosed => notImplemented; | 75 bool get queueIsClosed => notImplemented; |
| 39 | 76 |
| 40 @override | |
| 41 set queueIsClosed(bool value) => notImplemented; | 77 set queueIsClosed(bool value) => notImplemented; |
| 42 | 78 |
| 43 @override | |
| 44 EnqueueTask get task => notImplemented; | 79 EnqueueTask get task => notImplemented; |
| 45 | 80 |
| 46 @override | |
| 47 set task(EnqueueTask value) => notImplemented; | 81 set task(EnqueueTask value) => notImplemented; |
| 48 | 82 |
| 49 @override | |
| 50 get nativeEnqueuer => notImplemented; | 83 get nativeEnqueuer => notImplemented; |
| 51 | 84 |
| 52 @override | |
| 53 set nativeEnqueuer(value) => notImplemented; | 85 set nativeEnqueuer(value) => notImplemented; |
| 54 | 86 |
| 55 @override | |
| 56 bool get hasEnqueuedReflectiveElements => notImplemented; | 87 bool get hasEnqueuedReflectiveElements => notImplemented; |
| 57 | 88 |
| 58 @override | |
| 59 set hasEnqueuedReflectiveElements(bool value) => notImplemented; | 89 set hasEnqueuedReflectiveElements(bool value) => notImplemented; |
| 60 | 90 |
| 61 @override | |
| 62 bool get hasEnqueuedReflectiveStaticFields => notImplemented; | 91 bool get hasEnqueuedReflectiveStaticFields => notImplemented; |
| 63 | 92 |
| 64 @override | |
| 65 set hasEnqueuedReflectiveStaticFields(bool value) => notImplemented; | 93 set hasEnqueuedReflectiveStaticFields(bool value) => notImplemented; |
| 66 | 94 |
| 67 @override | |
| 68 bool get queueIsEmpty => notImplemented; | 95 bool get queueIsEmpty => notImplemented; |
| 69 | 96 |
| 70 @override | |
| 71 bool get isResolutionQueue => notImplemented; | 97 bool get isResolutionQueue => notImplemented; |
| 72 | 98 |
| 73 @override | |
| 74 QueueFilter get filter => notImplemented; | 99 QueueFilter get filter => notImplemented; |
| 75 | 100 |
| 76 @override | |
| 77 Queue get queue => notImplemented; | 101 Queue get queue => notImplemented; |
| 78 | 102 |
| 79 @override | |
| 80 get generatedCode => notImplemented; | 103 get generatedCode => notImplemented; |
| 81 | 104 |
| 82 @override | |
| 83 Set<Element> get newlyEnqueuedElements => notImplemented; | 105 Set<Element> get newlyEnqueuedElements => notImplemented; |
| 84 | 106 |
| 85 @override | |
| 86 Set<DynamicUse> get newlySeenSelectors => notImplemented; | 107 Set<DynamicUse> get newlySeenSelectors => notImplemented; |
| 87 | 108 |
| 88 @override | |
| 89 bool get enabledNoSuchMethod => notImplemented; | 109 bool get enabledNoSuchMethod => notImplemented; |
| 90 | 110 |
| 91 @override | |
| 92 set enabledNoSuchMethod(bool value) => notImplemented; | 111 set enabledNoSuchMethod(bool value) => notImplemented; |
| 93 | 112 |
| 94 @override | |
| 95 bool isProcessed(Element member) => notImplemented; | 113 bool isProcessed(Element member) => notImplemented; |
| 96 | 114 |
| 97 @override | |
| 98 void addToWorkList(Element element) => notImplemented; | 115 void addToWorkList(Element element) => notImplemented; |
| 99 | 116 |
| 100 @override | |
| 101 bool internalAddToWorkList(Element element) => notImplemented; | 117 bool internalAddToWorkList(Element element) => notImplemented; |
| 102 | 118 |
| 103 @override | |
| 104 void applyImpact(Element element, WorldImpact worldImpact) => notImplemented; | 119 void applyImpact(Element element, WorldImpact worldImpact) => notImplemented; |
| 105 | 120 |
| 106 @override | |
| 107 void registerInstantiatedType( | 121 void registerInstantiatedType( |
| 108 InterfaceType type, | 122 InterfaceType type, |
| 109 {bool mirrorUsage: false}) => notImplemented; | 123 {bool mirrorUsage: false}) => notImplemented; |
| 110 | 124 |
| 111 @override | |
| 112 bool checkNoEnqueuedInvokedInstanceMethods() => notImplemented; | 125 bool checkNoEnqueuedInvokedInstanceMethods() => notImplemented; |
| 113 | 126 |
| 114 @override | |
| 115 void processInstantiatedClassMembers(ClassElement cls) => notImplemented; | 127 void processInstantiatedClassMembers(ClassElement cls) => notImplemented; |
| 116 | 128 |
| 117 @override | |
| 118 void processInstantiatedClassMember( | 129 void processInstantiatedClassMember( |
| 119 ClassElement cls, | 130 ClassElement cls, |
| 120 Element member) => notImplemented; | 131 Element member) => notImplemented; |
| 121 | 132 |
| 122 @override | |
| 123 void registerNoSuchMethod(Element noSuchMethod) => notImplemented; | 133 void registerNoSuchMethod(Element noSuchMethod) => notImplemented; |
| 124 | 134 |
| 125 @override | |
| 126 void enableIsolateSupport() => notImplemented; | 135 void enableIsolateSupport() => notImplemented; |
| 127 | 136 |
| 128 @override | |
| 129 void processInstantiatedClass(ClassElement cls) => notImplemented; | 137 void processInstantiatedClass(ClassElement cls) => notImplemented; |
| 130 | 138 |
| 131 @override | |
| 132 void registerInvocation(DynamicUse use) => notImplemented; | |
| 133 | |
| 134 @override | |
| 135 void registerInvokedGetter(DynamicUse use) => notImplemented; | |
| 136 | |
| 137 @override | |
| 138 void registerInvokedSetter(DynamicUse use) => notImplemented; | |
| 139 | |
| 140 @override | |
| 141 bool shouldIncludeElementDueToMirrors( | 139 bool shouldIncludeElementDueToMirrors( |
| 142 Element element, | 140 Element element, |
| 143 {bool includedEnclosing}) => notImplemented; | 141 {bool includedEnclosing}) => notImplemented; |
| 144 | 142 |
| 145 @override | |
| 146 void logEnqueueReflectiveAction(action, [msg = ""]) => notImplemented; | 143 void logEnqueueReflectiveAction(action, [msg = ""]) => notImplemented; |
| 147 | 144 |
| 148 @override | |
| 149 void enqueueReflectiveConstructor( | 145 void enqueueReflectiveConstructor( |
| 150 ConstructorElement ctor, | 146 ConstructorElement ctor, |
| 151 bool enclosingWasIncluded) => notImplemented; | 147 bool enclosingWasIncluded) => notImplemented; |
| 152 | 148 |
| 153 @override | |
| 154 void enqueueReflectiveMember( | 149 void enqueueReflectiveMember( |
| 155 Element element, | 150 Element element, |
| 156 bool enclosingWasIncluded) => notImplemented; | 151 bool enclosingWasIncluded) => notImplemented; |
| 157 | 152 |
| 158 @override | |
| 159 void enqueueReflectiveElementsInClass( | 153 void enqueueReflectiveElementsInClass( |
| 160 ClassElement cls, | 154 ClassElement cls, |
| 161 Iterable<ClassElement> recents, | 155 Iterable<ClassElement> recents, |
| 162 bool enclosingWasIncluded) => notImplemented; | 156 bool enclosingWasIncluded) => notImplemented; |
| 163 | 157 |
| 164 @override | |
| 165 void enqueueReflectiveSpecialClasses() => notImplemented; | 158 void enqueueReflectiveSpecialClasses() => notImplemented; |
| 166 | 159 |
| 167 @override | |
| 168 void enqueueReflectiveElementsInLibrary( | 160 void enqueueReflectiveElementsInLibrary( |
| 169 LibraryElement lib, | 161 LibraryElement lib, |
| 170 Iterable<ClassElement> recents) => notImplemented; | 162 Iterable<ClassElement> recents) => notImplemented; |
| 171 | 163 |
| 172 @override | |
| 173 void enqueueReflectiveElements( | 164 void enqueueReflectiveElements( |
| 174 Iterable<ClassElement> recents) => notImplemented; | 165 Iterable<ClassElement> recents) => notImplemented; |
| 175 | 166 |
| 176 @override | |
| 177 void enqueueReflectiveStaticFields( | 167 void enqueueReflectiveStaticFields( |
| 178 Iterable<Element> elements) => notImplemented; | 168 Iterable<Element> elements) => notImplemented; |
| 179 | 169 |
| 180 @override | |
| 181 void processSet( | 170 void processSet( |
| 182 Map<String, Set<Element>> map, | 171 Map<String, Set<Element>> map, |
| 183 String memberName, | 172 String memberName, |
| 184 bool f(Element e)) => notImplemented; | 173 bool f(Element e)) => notImplemented; |
| 185 | 174 |
| 186 @override | |
| 187 processInstanceMembers(String n, bool f(Element e)) => notImplemented; | 175 processInstanceMembers(String n, bool f(Element e)) => notImplemented; |
| 188 | 176 |
| 189 @override | |
| 190 processInstanceFunctions(String n, bool f(Element e)) => notImplemented; | 177 processInstanceFunctions(String n, bool f(Element e)) => notImplemented; |
| 191 | 178 |
| 192 @override | |
| 193 void handleUnseenSelector( | 179 void handleUnseenSelector( |
| 194 DynamicUse use) => notImplemented; | 180 DynamicUse use) => notImplemented; |
| 195 | 181 |
| 196 @override | |
| 197 void registerStaticUse(StaticUse element) => notImplemented; | 182 void registerStaticUse(StaticUse element) => notImplemented; |
| 198 | 183 |
| 199 @override | |
| 200 void registerGetOfStaticFunction(FunctionElement element) => notImplemented; | |
| 201 | |
| 202 @override | |
| 203 void registerDynamicInvocation(DynamicUse use) => notImplemented; | |
| 204 | |
| 205 @override | |
| 206 void registerSelectorUse(DynamicUse use) => notImplemented; | |
| 207 | |
| 208 @override | |
| 209 void registerDynamicGetter(DynamicUse use) => notImplemented; | |
| 210 | |
| 211 @override | |
| 212 void registerDynamicSetter(DynamicUse use) => notImplemented; | |
| 213 | |
| 214 @override | |
| 215 void registerGetterForSuperMethod(Element element) => notImplemented; | |
| 216 | |
| 217 @override | |
| 218 void registerFieldGetter(Element element) => notImplemented; | |
| 219 | |
| 220 @override | |
| 221 void registerFieldSetter(Element element) => notImplemented; | |
| 222 | |
| 223 @override | |
| 224 void registerIsCheck(DartType type) => notImplemented; | |
| 225 | |
| 226 @override | |
| 227 void registerCallMethodWithFreeTypeVariables( | 184 void registerCallMethodWithFreeTypeVariables( |
| 228 Element element) => notImplemented; | 185 Element element) => notImplemented; |
| 229 | 186 |
| 230 @override | |
| 231 void registerClosurizedMember( | 187 void registerClosurizedMember( |
| 232 TypedElement element) => notImplemented; | 188 TypedElement element) => notImplemented; |
| 233 | 189 |
| 234 @override | |
| 235 void registerClosureIfFreeTypeVariables( | |
| 236 TypedElement element) => notImplemented; | |
| 237 | |
| 238 @override | |
| 239 void registerClosure( | |
| 240 LocalFunctionElement element) => notImplemented; | |
| 241 | |
| 242 @override | |
| 243 void forEach(void f(WorkItem work)) => notImplemented; | 190 void forEach(void f(WorkItem work)) => notImplemented; |
| 244 | 191 |
| 245 @override | |
| 246 bool onQueueEmpty(Iterable<ClassElement> recentClasses) => notImplemented; | 192 bool onQueueEmpty(Iterable<ClassElement> recentClasses) => notImplemented; |
| 247 | 193 |
| 248 @override | |
| 249 void logSummary(log(message)) => notImplemented; | 194 void logSummary(log(message)) => notImplemented; |
| 250 | 195 |
| 251 @override | |
| 252 void forgetElement(Element element) => notImplemented; | 196 void forgetElement(Element element) => notImplemented; |
| 253 | 197 |
| 254 @override | |
| 255 void handleUnseenSelectorInternal(DynamicUse dynamicUse) => notImplemented; | 198 void handleUnseenSelectorInternal(DynamicUse dynamicUse) => notImplemented; |
| 256 | 199 |
| 257 @override | |
| 258 bool isClassProcessed(ClassElement cls) => notImplemented; | 200 bool isClassProcessed(ClassElement cls) => notImplemented; |
| 259 | 201 |
| 260 @override | |
| 261 Iterable<ClassElement> get processedClasses => notImplemented; | 202 Iterable<ClassElement> get processedClasses => notImplemented; |
| 262 | 203 |
| 263 @override | |
| 264 void registerDynamicUse(DynamicUse dynamicUse) => notImplemented; | 204 void registerDynamicUse(DynamicUse dynamicUse) => notImplemented; |
| 265 | 205 |
| 266 @override | |
| 267 void registerStaticUseInternal(StaticUse staticUse) => notImplemented; | 206 void registerStaticUseInternal(StaticUse staticUse) => notImplemented; |
| 268 | 207 |
| 269 @override | |
| 270 void registerTypeUse(TypeUse typeUse) => notImplemented; | 208 void registerTypeUse(TypeUse typeUse) => notImplemented; |
| 271 | 209 |
| 272 @override | |
| 273 DiagnosticReporter get reporter => notImplemented; | 210 DiagnosticReporter get reporter => notImplemented; |
| 274 | 211 |
| 275 @override | |
| 276 Resolution get resolution => notImplemented; | 212 Resolution get resolution => notImplemented; |
| 277 | 213 |
| 278 @override | |
| 279 EnqueuerStrategy get strategy => notImplemented; | 214 EnqueuerStrategy get strategy => notImplemented; |
| 280 } | 215 } |
| OLD | NEW |