OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 dart2js.util; | 5 library dart2js.util; |
6 | 6 |
7 import "dart:collection"; | 7 import "dart:collection"; |
8 import 'util_implementation.dart'; | 8 import 'util_implementation.dart'; |
9 import 'characters.dart'; | 9 import 'characters.dart'; |
10 | 10 |
(...skipping 17 matching lines...) Expand all Loading... |
28 } | 28 } |
29 | 29 |
30 const Spannable CURRENT_ELEMENT_SPANNABLE = | 30 const Spannable CURRENT_ELEMENT_SPANNABLE = |
31 const _SpannableSentinel("Current element"); | 31 const _SpannableSentinel("Current element"); |
32 | 32 |
33 class SpannableAssertionFailure { | 33 class SpannableAssertionFailure { |
34 final Spannable node; | 34 final Spannable node; |
35 final String message; | 35 final String message; |
36 SpannableAssertionFailure(this.node, this.message); | 36 SpannableAssertionFailure(this.node, this.message); |
37 | 37 |
38 String toString() => 'Compiler crashed: $message.'; | 38 String toString() => 'Compiler crashed: $message'; |
39 } | 39 } |
40 | 40 |
41 /** | 41 /** |
42 * Helper method for printing stack traces for debugging. | 42 * Helper method for printing stack traces for debugging. |
43 * | 43 * |
44 * [message] is printed as the header of the stack trace. | 44 * [message] is printed as the header of the stack trace. |
45 * | 45 * |
46 * If [condition] is provided, the stack trace is only printed if [condition] | 46 * If [condition] is provided, the stack trace is only printed if [condition] |
47 * returns [:true:] on the stack trace text. This can be used to filter the | 47 * returns [:true:] on the stack trace text. This can be used to filter the |
48 * printed stack traces based on their content. For instance only print stack | 48 * printed stack traces based on their content. For instance only print stack |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
259 } | 259 } |
260 buffer.write(string); | 260 buffer.write(string); |
261 } | 261 } |
262 | 262 |
263 int computeHashCode(part1, [part2, part3, part4]) { | 263 int computeHashCode(part1, [part2, part3, part4]) { |
264 return (part1.hashCode | 264 return (part1.hashCode |
265 ^ part2.hashCode | 265 ^ part2.hashCode |
266 ^ part3.hashCode | 266 ^ part3.hashCode |
267 ^ part4.hashCode) & 0x3fffffff; | 267 ^ part4.hashCode) & 0x3fffffff; |
268 } | 268 } |
OLD | NEW |