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 'dart:uri'; | |
8 | 7 |
9 import 'package:pathos/path.dart' as path; | 8 import 'package:pathos/path.dart' as path; |
10 | 9 |
11 import 'trace.dart'; | 10 import 'trace.dart'; |
12 import 'utils.dart'; | 11 import 'utils.dart'; |
13 | 12 |
14 final _nativeFrameRegExp = new RegExp( | 13 final _nativeFrameRegExp = new RegExp( |
15 r'^#\d+\s+([^\s].*) \((.+):(\d+):(\d+)\)$'); | 14 r'^#\d+\s+([^\s].*) \((.+):(\d+):(\d+)\)$'); |
16 | 15 |
17 /// A single stack frame. Each frame points to a precise location in Dart code. | 16 /// A single stack frame. Each frame points to a precise location in Dart code. |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 | 86 |
88 var uri = Uri.parse(match[2]); | 87 var uri = Uri.parse(match[2]); |
89 var member = match[1].replaceAll("<anonymous closure>", "<fn>"); | 88 var member = match[1].replaceAll("<anonymous closure>", "<fn>"); |
90 return new Frame(uri, int.parse(match[3]), int.parse(match[4]), member); | 89 return new Frame(uri, int.parse(match[3]), int.parse(match[4]), member); |
91 } | 90 } |
92 | 91 |
93 Frame(this.uri, this.line, this.column, this.member); | 92 Frame(this.uri, this.line, this.column, this.member); |
94 | 93 |
95 String toString() => '$location in $member'; | 94 String toString() => '$location in $member'; |
96 } | 95 } |
OLD | NEW |