OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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.test.memory_compiler; | 5 library dart2js.test.memory_compiler; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 | 8 |
9 import 'package:compiler/compiler.dart' show | 9 import 'package:compiler/compiler.dart' show |
10 DiagnosticHandler; | 10 DiagnosticHandler; |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
152 entryPoint: entryPoint, | 152 entryPoint: entryPoint, |
153 resolutionInputs: resolutionInputs, | 153 resolutionInputs: resolutionInputs, |
154 libraryRoot: libraryRoot, | 154 libraryRoot: libraryRoot, |
155 packageRoot: packageRoot, | 155 packageRoot: packageRoot, |
156 options: options, | 156 options: options, |
157 environment: {}, | 157 environment: {}, |
158 packageConfig: packageConfig, | 158 packageConfig: packageConfig, |
159 packagesDiscoveryProvider: packagesDiscoveryProvider)); | 159 packagesDiscoveryProvider: packagesDiscoveryProvider)); |
160 | 160 |
161 if (cachedCompiler != null) { | 161 if (cachedCompiler != null) { |
162 compiler.coreLibrary = | |
163 cachedCompiler.libraryLoader.lookupLibrary(Uri.parse('dart:core')); | |
164 compiler.types = cachedCompiler.types.copy(compiler.resolution); | 162 compiler.types = cachedCompiler.types.copy(compiler.resolution); |
165 Map copiedLibraries = {}; | 163 Map copiedLibraries = {}; |
166 cachedCompiler.libraryLoader.libraries.forEach((library) { | 164 cachedCompiler.libraryLoader.libraries.forEach((library) { |
167 if (library.isPlatformLibrary) { | 165 if (library.isPlatformLibrary) { |
168 var libraryLoader = compiler.libraryLoader; | 166 var libraryLoader = compiler.libraryLoader; |
169 libraryLoader.mapLibrary(library); | 167 libraryLoader.mapLibrary(library); |
170 compiler.onLibraryCreated(library); | 168 compiler.onLibraryCreated(library); |
171 compiler.onLibraryScanned(library, null); | 169 compiler.onLibraryScanned(library, null); |
172 if (library.isPatched) { | 170 if (library.isPatched) { |
173 var patchLibrary = library.patch; | 171 var patchLibrary = library.patch; |
174 compiler.onLibraryCreated(patchLibrary); | 172 compiler.onLibraryCreated(patchLibrary); |
175 compiler.onLibraryScanned(patchLibrary, null); | 173 compiler.onLibraryScanned(patchLibrary, null); |
176 } | 174 } |
177 copiedLibraries[library.canonicalUri] = library; | 175 copiedLibraries[library.canonicalUri] = library; |
178 } | 176 } |
179 }); | 177 }); |
180 // TODO(johnniwinther): Assert that no libraries are loaded lazily from | 178 // TODO(johnniwinther): Assert that no libraries are loaded lazily from |
181 // this call. | 179 // this call. |
182 compiler.onLibrariesLoaded(new MemoryLoadedLibraries(copiedLibraries)); | 180 compiler.onLibrariesLoaded(new MemoryLoadedLibraries(copiedLibraries)); |
183 | 181 |
184 compiler.backend.constantCompilerTask.copyConstantValues( | 182 compiler.backend.constantCompilerTask.copyConstantValues( |
185 cachedCompiler.backend.constantCompilerTask); | 183 cachedCompiler.backend.constantCompilerTask); |
186 compiler.mirrorSystemClass = cachedCompiler.mirrorSystemClass; | |
187 compiler.mirrorsUsedClass = cachedCompiler.mirrorsUsedClass; | |
188 compiler.mirrorSystemGetNameFunction = | |
189 cachedCompiler.mirrorSystemGetNameFunction; | |
190 compiler.mirrorsUsedConstructor = cachedCompiler.mirrorsUsedConstructor; | |
191 compiler.deferredLibraryClass = cachedCompiler.deferredLibraryClass; | |
192 | 184 |
193 Iterable cachedTreeElements = | 185 Iterable cachedTreeElements = |
194 cachedCompiler.enqueuer.resolution.processedElements; | 186 cachedCompiler.enqueuer.resolution.processedElements; |
195 cachedTreeElements.forEach((element) { | 187 cachedTreeElements.forEach((element) { |
196 if (element.library.isPlatformLibrary) { | 188 if (element.library.isPlatformLibrary) { |
197 compiler.enqueuer.resolution.registerProcessedElement(element); | 189 compiler.enqueuer.resolution.registerProcessedElement(element); |
198 } | 190 } |
199 }); | 191 }); |
200 | 192 |
201 // One potential problem that can occur when reusing elements is that there | 193 // One potential problem that can occur when reusing elements is that there |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 handler = (Uri uri, int begin, int end, String message, Diagnostic kind) { | 246 handler = (Uri uri, int begin, int end, String message, Diagnostic kind) { |
255 diagnosticHandler(uri, begin, end, message, kind); | 247 diagnosticHandler(uri, begin, end, message, kind); |
256 formattingHandler(uri, begin, end, message, kind); | 248 formattingHandler(uri, begin, end, message, kind); |
257 }; | 249 }; |
258 } | 250 } |
259 } else if (diagnosticHandler == null) { | 251 } else if (diagnosticHandler == null) { |
260 handler = (Uri uri, int begin, int end, String message, Diagnostic kind) {}; | 252 handler = (Uri uri, int begin, int end, String message, Diagnostic kind) {}; |
261 } | 253 } |
262 return handler; | 254 return handler; |
263 } | 255 } |
OLD | NEW |