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

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: Updated cf. comments. 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].
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
106 /// [object]. If [printTrace] is `true` a trace printed additionally.
107 /// If [printTrace] is `null`, [trackWithTrace] determines whether a trace is
108 /// printed.
109 ///
110 /// [object] is returned as the result of the method.
111 track(bool doTrack, Object object, String message, {bool printTrace}) {
112 if (!doTrack) return object;
113 _trackedObjects.add(object);
114 String msg = 'track: ${object.hashCode}:$object:$message';
115 if (printTrace == null) printTrace = trackWithTrace;
116 if (printTrace) {
117 trace(msg);
118 } else {
119 debugPrint(msg);
120 }
121 return object;
122 }
123
124 /// Returns `true` if [object] is in the set of tracked objects.
125 ///
126 /// If [message] is provided it is printed along the hash code and toString of
127 /// [object]. If [printTrace] is `true` a trace printed additionally. If
128 /// [printTrace] is `null`, [trackWithTrace] determines whether a trace is
129 /// printed.
130 bool ifTracked(Object object, {String message, bool printTrace}) {
131 if (_trackedObjects.contains(object)) {
132 if (message != null) {
133 String msg = 'tracked: ${object.hashCode}:$object:$message';
134 if (printTrace == null) printTrace = trackWithTrace;
135 if (printTrace) {
136 trace(msg);
137 } else {
138 debugPrint(msg);
139 }
140 }
141 return true;
142 }
143 return false;
144 }
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