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

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

Issue 2938203003: Compute KernelClosureRepresentationInfo.variableIsUsedInTryOrSync (Closed)
Patch Set: Merge KernelClosureConversionTask and KernelClosureDataLookup 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
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 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 return classInfo; 207 return classInfo;
208 } 208 }
209 209
210 ClosureInfo visitClosureClassElement(ClosureClassElement element, _) { 210 ClosureInfo visitClosureClassElement(ClosureClassElement element, _) {
211 ClosureInfo closureInfo = new ClosureInfo( 211 ClosureInfo closureInfo = new ClosureInfo(
212 name: element.name, 212 name: element.name,
213 outputUnit: _unitInfoForElement(element), 213 outputUnit: _unitInfoForElement(element),
214 size: compiler.dumpInfoTask.sizeOf(element)); 214 size: compiler.dumpInfoTask.sizeOf(element));
215 _elementToInfo[element] = closureInfo; 215 _elementToInfo[element] = closureInfo;
216 216
217 ClosureRepresentationInfo closureRepresentation = compiler.closureDataLookup 217 ClosureRepresentationInfo closureRepresentation = compiler
218 .backendStrategy.closureDataLookup
218 .getClosureRepresentationInfo(element.methodElement); 219 .getClosureRepresentationInfo(element.methodElement);
219 assert(closureRepresentation.closureClassEntity == element); 220 assert(closureRepresentation.closureClassEntity == element);
220 221
221 FunctionInfo functionInfo = this.process(closureRepresentation.callMethod); 222 FunctionInfo functionInfo = this.process(closureRepresentation.callMethod);
222 if (functionInfo == null) return null; 223 if (functionInfo == null) return null;
223 closureInfo.function = functionInfo; 224 closureInfo.function = functionInfo;
224 functionInfo.parent = closureInfo; 225 functionInfo.parent = closureInfo;
225 226
226 result.closures.add(closureInfo); 227 result.closures.add(closureInfo);
227 return closureInfo; 228 return closureInfo;
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 614
614 ChunkedConversionSink<Object> sink = encoder.startChunkedConversion( 615 ChunkedConversionSink<Object> sink = encoder.startChunkedConversion(
615 new StringConversionSink.fromStringSink(buffer)); 616 new StringConversionSink.fromStringSink(buffer));
616 sink.add(new AllInfoJsonCodec().encode(result)); 617 sink.add(new AllInfoJsonCodec().encode(result));
617 compiler.reporter.reportInfo(NO_LOCATION_SPANNABLE, MessageKind.GENERIC, { 618 compiler.reporter.reportInfo(NO_LOCATION_SPANNABLE, MessageKind.GENERIC, {
618 'text': "View the dumped .info.json file at " 619 'text': "View the dumped .info.json file at "
619 "https://dart-lang.github.io/dump-info-visualizer" 620 "https://dart-lang.github.io/dump-info-visualizer"
620 }); 621 });
621 } 622 }
622 } 623 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698