OLD | NEW |
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 part of dart_backend; | 5 part of dart_backend; |
6 | 6 |
7 // TODO(ahe): This class is simply wrong. This backend should use | 7 // TODO(ahe): This class is simply wrong. This backend should use |
8 // elements when it can, not AST nodes. Perhaps a [Map<Element, | 8 // elements when it can, not AST nodes. Perhaps a [Map<Element, |
9 // TreeElements>] is what is needed. | 9 // TreeElements>] is what is needed. |
10 class ElementAst { | 10 class ElementAst { |
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 nonPlatformSize += compilationUnit.script.file.length; | 254 nonPlatformSize += compilationUnit.script.file.length; |
255 } | 255 } |
256 } | 256 } |
257 int percentage = totalOutputSize * 100 ~/ nonPlatformSize; | 257 int percentage = totalOutputSize * 100 ~/ nonPlatformSize; |
258 log('Total used non-platform files size: ${nonPlatformSize} bytes, ' | 258 log('Total used non-platform files size: ${nonPlatformSize} bytes, ' |
259 'Output total size: $totalOutputSize bytes (${percentage}%)'); | 259 'Output total size: $totalOutputSize bytes (${percentage}%)'); |
260 } | 260 } |
261 | 261 |
262 log(String message) => compiler.log('[DartBackend] $message'); | 262 log(String message) => compiler.log('[DartBackend] $message'); |
263 | 263 |
264 Future onLibrariesLoaded(Map<Uri, LibraryElement> loadedLibraries) { | 264 Future onLibrariesLoaded(LoadedLibraries loadedLibraries) { |
265 // All platform classes must be resolved to ensure that their member names | 265 // All platform classes must be resolved to ensure that their member names |
266 // are preserved. | 266 // are preserved. |
267 loadedLibraries.values.forEach((LibraryElement library) { | 267 loadedLibraries.forEachLibrary((LibraryElement library) { |
268 if (library.isPlatformLibrary) { | 268 if (library.isPlatformLibrary) { |
269 library.forEachLocalMember((Element element) { | 269 library.forEachLocalMember((Element element) { |
270 if (element.isClass) { | 270 if (element.isClass) { |
271 ClassElement classElement = element; | 271 ClassElement classElement = element; |
272 classElement.ensureResolved(compiler); | 272 classElement.ensureResolved(compiler); |
273 } | 273 } |
274 }); | 274 }); |
275 } | 275 } |
276 }); | 276 }); |
277 if (useMirrorHelperLibrary && | 277 if (useMirrorHelperLibrary && |
278 loadedLibraries.containsKey(Compiler.DART_MIRRORS)) { | 278 loadedLibraries.containsLibrary(Compiler.DART_MIRRORS)) { |
279 return compiler.libraryLoader.loadLibrary( | 279 return compiler.libraryLoader.loadLibrary( |
280 compiler.translateResolvedUri( | 280 compiler.translateResolvedUri( |
281 loadedLibraries[Compiler.DART_MIRRORS], | 281 loadedLibraries.getLibrary(Compiler.DART_MIRRORS), |
282 MirrorRenamerImpl.DART_MIRROR_HELPER, null)). | 282 MirrorRenamerImpl.DART_MIRROR_HELPER, null)). |
283 then((LibraryElement library) { | 283 then((LibraryElement library) { |
284 mirrorRenamer = new MirrorRenamerImpl(compiler, this, library); | 284 mirrorRenamer = new MirrorRenamerImpl(compiler, this, library); |
285 }); | 285 }); |
286 } | 286 } |
287 return new Future.value(); | 287 return new Future.value(); |
288 } | 288 } |
289 | 289 |
290 void registerStaticUse(Element element, Enqueuer enqueuer) { | 290 void registerStaticUse(Element element, Enqueuer enqueuer) { |
291 if (element == compiler.mirrorSystemGetNameFunction) { | 291 if (element == compiler.mirrorSystemGetNameFunction) { |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
441 } | 441 } |
442 | 442 |
443 Constant compileMetadata(MetadataAnnotation metadata, | 443 Constant compileMetadata(MetadataAnnotation metadata, |
444 Node node, | 444 Node node, |
445 TreeElements elements) { | 445 TreeElements elements) { |
446 return measure(() { | 446 return measure(() { |
447 return constantCompiler.compileMetadata(metadata, node, elements); | 447 return constantCompiler.compileMetadata(metadata, node, elements); |
448 }); | 448 }); |
449 } | 449 } |
450 } | 450 } |
OLD | NEW |