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 command_line_config; | 5 library command_line_config; |
6 | 6 |
7 import 'dart:io'; | 7 import 'dart:io'; |
8 import 'dart:math' as math; | 8 import 'dart:math' as math; |
9 | 9 |
10 import 'package:pathos/path.dart' as path; | 10 import 'package:pathos/path.dart' as path; |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 String get location => '$library $line:$column'; | 146 String get location => '$library $line:$column'; |
147 | 147 |
148 _StackFrame._(this.isCore, this.library, this.line, this.column, this.member); | 148 _StackFrame._(this.isCore, this.library, this.line, this.column, this.member); |
149 | 149 |
150 factory _StackFrame(String text) { | 150 factory _StackFrame(String text) { |
151 var match = fileRegExp.firstMatch(text); | 151 var match = fileRegExp.firstMatch(text); |
152 var isCore = false; | 152 var isCore = false; |
153 | 153 |
154 if (match == null) { | 154 if (match == null) { |
155 match = coreRegExp.firstMatch(text); | 155 match = coreRegExp.firstMatch(text); |
156 if (match == null) throw "Couldn't parse stack trace line '$text'."; | 156 if (match == null) { |
| 157 throw FormatException("Couldn't parse stack trace line '$text'."); |
| 158 } |
157 isCore = true; | 159 isCore = true; |
158 } | 160 } |
159 | 161 |
160 var library = match[2]; | 162 var library = match[2]; |
161 if (!isCore) { | 163 if (!isCore) { |
162 // Make the library path relative to the entrypoint. | 164 // Make the library path relative to the entrypoint. |
163 library = path.relative(library); | 165 library = path.relative(library); |
164 } | 166 } |
165 | 167 |
166 var member = match[1].replaceAll("<anonymous closure>", _lambda); | 168 var member = match[1].replaceAll("<anonymous closure>", _lambda); |
167 return new _StackFrame._(isCore, library, match[3], match[4], member); | 169 return new _StackFrame._(isCore, library, match[3], match[4], member); |
168 } | 170 } |
169 } | 171 } |
OLD | NEW |