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

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

Issue 1229673006: Generated source mapping through CPS. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Cleanup Created 5 years, 5 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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 for debugging helpers. The unittest analyze_unused_test checks that 5 /// Library for debugging helpers. The unittest analyze_unused_test checks that
6 /// the helper are not used in production code. 6 /// the helper are not used in production code.
7 7
8 library dart2js.helpers; 8 library dart2js.helpers;
9 9
10 import 'dart:async' show EventSink; 10 import 'dart:async' show EventSink;
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 ReportHere get reportHere { 86 ReportHere get reportHere {
87 enableDebugMode(); 87 enableDebugMode();
88 return _reportHere; 88 return _reportHere;
89 } 89 }
90 90
91 /// Implementation of [reportHere] 91 /// Implementation of [reportHere]
92 _reportHere(Compiler compiler, Spannable node, String debugMessage) { 92 _reportHere(Compiler compiler, Spannable node, String debugMessage) {
93 compiler.reportInfo(node, 93 compiler.reportInfo(node,
94 MessageKind.GENERIC, {'text': 'HERE: $debugMessage'}); 94 MessageKind.GENERIC, {'text': 'HERE: $debugMessage'});
95 } 95 }
96
97 /// Set of tracked objects used by [track] and [ifTracked].
karlklose 2015/07/10 12:44:40 Maybe this change should be in its own CL.
Johnni Winther 2015/07/10 13:26:38 Maybe. It was used to create this CL.
98 var _trackedObjects = new Set();
99
100 /// Global default value for the `printTrace` option of [track] and [ifTracked].
101 bool trackWithTrace = false;
102
103 /// If [doTrack] is `true`, add [object] to the set of tracked objects.
104 ///
105 /// If tracked, [message] is printed along the hash code and toString of [object ].
karlklose 2015/07/10 12:44:40 Long line.
Johnni Winther 2015/07/10 13:26:38 Done.
106 /// If [printTrace] is `true` a trace printed additionally. If [printTrace] is
107 /// `null`, [trackWithTrace] determines whether a trace is printed.
108 ///
109 /// [object] is returned as the result of the method.
110 track(bool doTrack, Object object, String message, {bool printTrace}) {
111 if (!doTrack) return object;
112 _trackedObjects.add(object);
113 String msg = 'track: ${object.hashCode}:$object:$message';
114 if (printTrace == null) printTrace = trackWithTrace;
115 if (printTrace) {
116 trace(msg);
117 } else {
118 debugPrint(msg);
119 }
120 return object;
121 }
122
123 /// Returns `true` if [object] is in the set of tracked objects.
124 ///
125 /// If [message] is provided it is printed along the hash code and toString of
126 /// [object]. If [printTrace] is `true` a trace printed additionally. If
127 /// [printTrace] is `null`, [trackWithTrace] determines whether a trace is
128 /// printed.
129 bool ifTracked(Object object, {String message, bool printTrace}) {
130 if (_trackedObjects.contains(object)) {
131 if (message != null) {
132 String msg = 'tracked: ${object.hashCode}:$object:$message';
133 if (printTrace == null) printTrace = trackWithTrace;
134 if (printTrace) {
135 trace(msg);
136 } else {
137 debugPrint(msg);
138 }
139 }
140 return true;
141 }
142 return false;
143 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart ('k') | pkg/compiler/lib/src/io/position_information.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698