| | |
| | | const CURRENT_METHOD_REGEXP = /at ([a-zA-Z0-9_.]*)/; |
| | | |
| | | /** |
| | | * Creates the error message shown when an abstract API is called without |
| | | * being implemented by a subclass. |
| | | * @param {string=} method method name |
| | | * @returns {string} message |
| | | */ |
| | |
| | | } |
| | | |
| | | /** |
| | | * Captures a stack trace so the calling method name can be folded into the |
| | | * final abstract-method error message. |
| | | * @constructor |
| | | */ |
| | | function Message() { |
| | |
| | | } |
| | | |
| | | /** |
| | | * Error for abstract method |
| | | * Error thrown when code reaches a method that is intended to be overridden by |
| | | * a subclass. |
| | | * @example |
| | | * ```js |
| | | * class FooClass { |
| | |
| | | * ``` |
| | | */ |
| | | class AbstractMethodError extends WebpackError { |
| | | /** |
| | | * Creates an error whose message points at the abstract method that was |
| | | * invoked. |
| | | */ |
| | | constructor() { |
| | | super(new Message().message); |
| | | /** @type {string} */ |
| | | this.name = "AbstractMethodError"; |
| | | } |
| | | } |