OLD | NEW |
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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 /// Wraps the call to [f] with a print of 'start:$s' and 'end:$s' incrementing | 60 /// Wraps the call to [f] with a print of 'start:$s' and 'end:$s' incrementing |
61 /// the current indentation used by [debugPrint] during the execution of [f]. | 61 /// the current indentation used by [debugPrint] during the execution of [f]. |
62 /// | 62 /// |
63 /// Use this to get a tree-like debug printout for nested calls. | 63 /// Use this to get a tree-like debug printout for nested calls. |
64 DebugWrapPrint get debugWrapPrint { | 64 DebugWrapPrint get debugWrapPrint { |
65 enableDebugMode(); | 65 enableDebugMode(); |
66 return _debugWrapPrint; | 66 return _debugWrapPrint; |
67 } | 67 } |
68 | 68 |
69 /// Implementation of [debugWrapPrint]. | 69 /// Implementation of [debugWrapPrint]. |
70 DebugWrapPrint _debugWrapPrint(s, f()) { | 70 _debugWrapPrint(s, f()) { |
71 debugPrint('start:$s'); | 71 debugPrint('start:$s'); |
72 var result = _indentation.indentBlock(f); | 72 var result = _indentation.indentBlock(f); |
73 debugPrint('end:$s'); | 73 debugPrint('end:$s'); |
74 return result; | 74 return result; |
75 } | 75 } |
76 | 76 |
77 /// Dummy method to mark breakpoints. | 77 /// Dummy method to mark breakpoints. |
78 debugBreak() { | 78 debugBreak() { |
79 enableDebugMode(); | 79 enableDebugMode(); |
80 } | 80 } |
81 | 81 |
82 /// Function signature of [reportHere]. | 82 /// Function signature of [reportHere]. |
83 typedef ReportHere(Compiler compiler, Spannable node, String debugMessage); | 83 typedef ReportHere(Compiler compiler, Spannable node, String debugMessage); |
84 | 84 |
85 /// Print a message with a source location. | 85 /// Print a message with a source location. |
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 } |
OLD | NEW |