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

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

Issue 2940883006: Modify types in dump_info to make kernel checked mode happy. (Closed)
Patch Set: Created 3 years, 6 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 dump_info; 5 library dump_info;
6 6
7 import 'dart:convert' 7 import 'dart:convert'
8 show ChunkedConversionSink, JsonEncoder, StringConversionSink; 8 show ChunkedConversionSink, JsonEncoder, StringConversionSink;
9 9
10 import 'package:dart2js_info/info.dart'; 10 import 'package:dart2js_info/info.dart';
(...skipping 536 matching lines...) Expand 10 before | Expand all | Expand 10 after
547 } 547 }
548 548
549 void dumpInfoJson(StringSink buffer, ClosedWorld closedWorld) { 549 void dumpInfoJson(StringSink buffer, ClosedWorld closedWorld) {
550 JsonEncoder encoder = const JsonEncoder.withIndent(' '); 550 JsonEncoder encoder = const JsonEncoder.withIndent(' ');
551 Stopwatch stopwatch = new Stopwatch(); 551 Stopwatch stopwatch = new Stopwatch();
552 stopwatch.start(); 552 stopwatch.start();
553 553
554 AllInfo result = infoCollector.result; 554 AllInfo result = infoCollector.result;
555 555
556 // Recursively build links to function uses 556 // Recursively build links to function uses
557 Iterable<Element> functionElements = 557 Iterable<Entity> functionElements =
558 infoCollector._elementToInfo.keys.where((k) => k is FunctionElement); 558 infoCollector._elementToInfo.keys.where((k) => k is FunctionElement);
559 for (FunctionElement element in functionElements) { 559 for (FunctionElement element in functionElements) {
560 FunctionInfo info = infoCollector._elementToInfo[element]; 560 FunctionInfo info = infoCollector._elementToInfo[element];
561 Iterable<Selection> uses = getRetaining(element, closedWorld); 561 Iterable<Selection> uses = getRetaining(element, closedWorld);
562 // Don't bother recording an empty list of dependencies. 562 // Don't bother recording an empty list of dependencies.
563 for (Selection selection in uses) { 563 for (Selection selection in uses) {
564 // Don't register dart2js builtin functions that are not recorded. 564 // Don't register dart2js builtin functions that are not recorded.
565 Info useInfo = infoCollector._elementToInfo[selection.selectedElement]; 565 Info useInfo = infoCollector._elementToInfo[selection.selectedElement];
566 if (useInfo == null) continue; 566 if (useInfo == null) continue;
567 info.uses.add(new DependencyInfo(useInfo, '${selection.mask}')); 567 info.uses.add(new DependencyInfo(useInfo, '${selection.mask}'));
568 } 568 }
569 } 569 }
570 570
571 // Recursively build links to field uses 571 // Recursively build links to field uses
572 Iterable<Element> fieldElements = 572 Iterable<Entity> fieldElements =
573 infoCollector._elementToInfo.keys.where((k) => k is FieldElement); 573 infoCollector._elementToInfo.keys.where((k) => k is FieldElement);
574 for (FieldElement element in fieldElements) { 574 for (FieldElement element in fieldElements) {
575 FieldInfo info = infoCollector._elementToInfo[element]; 575 FieldInfo info = infoCollector._elementToInfo[element];
576 Iterable<Selection> uses = getRetaining(element, closedWorld); 576 Iterable<Selection> uses = getRetaining(element, closedWorld);
577 // Don't bother recording an empty list of dependencies. 577 // Don't bother recording an empty list of dependencies.
578 for (Selection selection in uses) { 578 for (Selection selection in uses) {
579 Info useInfo = infoCollector._elementToInfo[selection.selectedElement]; 579 Info useInfo = infoCollector._elementToInfo[selection.selectedElement];
580 if (useInfo == null) continue; 580 if (useInfo == null) continue;
581 info.uses.add(new DependencyInfo(useInfo, '${selection.mask}')); 581 info.uses.add(new DependencyInfo(useInfo, '${selection.mask}'));
582 } 582 }
(...skipping 30 matching lines...) Expand all
613 613
614 ChunkedConversionSink<Object> sink = encoder.startChunkedConversion( 614 ChunkedConversionSink<Object> sink = encoder.startChunkedConversion(
615 new StringConversionSink.fromStringSink(buffer)); 615 new StringConversionSink.fromStringSink(buffer));
616 sink.add(new AllInfoJsonCodec().encode(result)); 616 sink.add(new AllInfoJsonCodec().encode(result));
617 compiler.reporter.reportInfo(NO_LOCATION_SPANNABLE, MessageKind.GENERIC, { 617 compiler.reporter.reportInfo(NO_LOCATION_SPANNABLE, MessageKind.GENERIC, {
618 'text': "View the dumped .info.json file at " 618 'text': "View the dumped .info.json file at "
619 "https://dart-lang.github.io/dump-info-visualizer" 619 "https://dart-lang.github.io/dump-info-visualizer"
620 }); 620 });
621 } 621 }
622 } 622 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698