| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | 
							- "use strict";
 
- const WebpackError = require("./WebpackError");
 
- const CURRENT_METHOD_REGEXP = /at ([a-zA-Z0-9_.]*)/;
 
- /**
 
-  * @param {string=} method method name
 
-  * @returns {string} message
 
-  */
 
- function createMessage(method) {
 
- 	return `Abstract method${method ? " " + method : ""}. Must be overridden.`;
 
- }
 
- /**
 
-  * @constructor
 
-  */
 
- function Message() {
 
- 	this.stack = undefined;
 
- 	Error.captureStackTrace(this);
 
- 	/** @type {RegExpMatchArray} */
 
- 	const match = this.stack.split("\n")[3].match(CURRENT_METHOD_REGEXP);
 
- 	this.message = match && match[1] ? createMessage(match[1]) : createMessage();
 
- }
 
- /**
 
-  * Error for abstract method
 
-  * @example
 
-  * class FooClass {
 
-  *     abstractMethod() {
 
-  *         throw new AbstractMethodError(); // error message: Abstract method FooClass.abstractMethod. Must be overriden.
 
-  *     }
 
-  * }
 
-  *
 
-  */
 
- class AbstractMethodError extends WebpackError {
 
- 	constructor() {
 
- 		super(new Message().message);
 
- 		this.name = "AbstractMethodError";
 
- 	}
 
- }
 
- module.exports = AbstractMethodError;
 
 
  |