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

Side by Side Diff: pkg/compiler/lib/src/dart_backend/backend.dart

Issue 588183002: Emit warning on import of dart:mirrors. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Optimize and limit import chain processing Created 6 years, 1 month 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 | Annotate | Revision Log
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 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
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
441 } 441 }
442 442
443 ConstantExpression compileMetadata(MetadataAnnotation metadata, 443 ConstantExpression 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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698