| OLD | NEW |
| 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 frame; | 5 library frame; |
| 6 | 6 |
| 7 import 'package:path/path.dart' as path; | 7 import 'package:path/path.dart' as path; |
| 8 | 8 |
| 9 import 'trace.dart'; | 9 import 'trace.dart'; |
| 10 import 'unparsed_frame.dart'; | 10 import 'unparsed_frame.dart'; |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 /// Anonymous closures are represented as `<fn>` in this member string. | 88 /// Anonymous closures are represented as `<fn>` in this member string. |
| 89 final String member; | 89 final String member; |
| 90 | 90 |
| 91 /// Whether this stack frame comes from the Dart core libraries. | 91 /// Whether this stack frame comes from the Dart core libraries. |
| 92 bool get isCore => uri.scheme == 'dart'; | 92 bool get isCore => uri.scheme == 'dart'; |
| 93 | 93 |
| 94 /// Returns a human-friendly description of the library that this stack frame | 94 /// Returns a human-friendly description of the library that this stack frame |
| 95 /// comes from. | 95 /// comes from. |
| 96 /// | 96 /// |
| 97 /// This will usually be the string form of [uri], but a relative URI will be | 97 /// This will usually be the string form of [uri], but a relative URI will be |
| 98 /// used if possible. | 98 /// used if possible. Data URIs will be truncated. |
| 99 String get library => path.prettyUri(uri); | 99 String get library { |
| 100 if (uri.scheme == 'data') return "data:..."; |
| 101 return path.prettyUri(uri); |
| 102 } |
| 100 | 103 |
| 101 /// Returns the name of the package this stack frame comes from, or `null` if | 104 /// Returns the name of the package this stack frame comes from, or `null` if |
| 102 /// this stack frame doesn't come from a `package:` URL. | 105 /// this stack frame doesn't come from a `package:` URL. |
| 103 String get package { | 106 String get package { |
| 104 if (uri.scheme != 'package') return null; | 107 if (uri.scheme != 'package') return null; |
| 105 return uri.path.split('/').first; | 108 return uri.path.split('/').first; |
| 106 } | 109 } |
| 107 | 110 |
| 108 /// A human-friendly description of the code location. | 111 /// A human-friendly description of the code location. |
| 109 String get location { | 112 String get location { |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 294 return body(); | 297 return body(); |
| 295 } on FormatException catch (_) { | 298 } on FormatException catch (_) { |
| 296 return new UnparsedFrame(text); | 299 return new UnparsedFrame(text); |
| 297 } | 300 } |
| 298 } | 301 } |
| 299 | 302 |
| 300 Frame(this.uri, this.line, this.column, this.member); | 303 Frame(this.uri, this.line, this.column, this.member); |
| 301 | 304 |
| 302 String toString() => '$location in $member'; | 305 String toString() => '$location in $member'; |
| 303 } | 306 } |
| OLD | NEW |