| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // BSD-style license that can be found in the LICENSE file. | |
| 4 | |
| 5 part of dart.core; | |
| 6 | |
| 7 /** | |
| 8 * An interface implemented by all stack trace objects. | |
| 9 * | |
| 10 * A [StackTrace] is intended to convey information to the user about the call | |
| 11 * sequence that triggered an exception. | |
| 12 * | |
| 13 * These objects are created by the runtime, it is not possible to create | |
| 14 * them programmatically. | |
| 15 */ | |
| 16 abstract class StackTrace { | |
| 17 StackTrace(); // In case existing classes extend StackTrace. | |
| 18 | |
| 19 /** | |
| 20 * Create a `StackTrace` object from [stackTraceString]. | |
| 21 * | |
| 22 * The created stack trace will have a `toString` method returning | |
| 23 * `stackTraceString`. | |
| 24 * | |
| 25 * The `stackTraceString` can be a string returned by some other | |
| 26 * stack trace, or it can be any string at all. | |
| 27 * If the string doesn't look like a stack trace, code that interprets | |
| 28 * stack traces is likely to fail, so fake stack traces should be used | |
| 29 * with care. | |
| 30 */ | |
| 31 factory StackTrace.fromString(String stackTraceString) = _StringStackTrace; | |
| 32 | |
| 33 /** | |
| 34 * Returns a representation of the current stack trace. | |
| 35 * | |
| 36 * This is similar to what can be achieved by doing: | |
| 37 * | |
| 38 * try { throw 0; } catch (_, stack) { return stack; } | |
| 39 * | |
| 40 * The getter achieves this without throwing, except on platforms that | |
| 41 * have no other way to get a stack trace. | |
| 42 */ | |
| 43 external static StackTrace get current; | |
| 44 | |
| 45 /** | |
| 46 * Returns a [String] representation of the stack trace. | |
| 47 * | |
| 48 * The string represents the full stack trace starting from | |
| 49 * the point where a throw ocurred to the top of the current call sequence. | |
| 50 * | |
| 51 * The exact format of the string representation is not final. | |
| 52 */ | |
| 53 String toString(); | |
| 54 } | |
| 55 | |
| 56 class _StringStackTrace implements StackTrace { | |
| 57 final String _stackTrace; | |
| 58 _StringStackTrace(this._stackTrace); | |
| 59 String toString() => _stackTrace; | |
| 60 } | |
| OLD | NEW |