mirror of
https://github.com/microsoft/vscode.git
synced 2026-09-02 06:14:15 +01:00
Don’t re-wrap prepareStackTrace when assigned to itself
This commit is contained in:
@@ -85,17 +85,26 @@ abstract class ErrorHandler {
|
||||
return `${error.name || 'Error'}: ${error.message || ''}${stackTraceMessage}`;
|
||||
}
|
||||
|
||||
let _wasWrapped = Symbol('prepareStackTrace wrapped');
|
||||
let _prepareStackTrace = prepareStackTraceAndFindExtension;
|
||||
Object.assign(_prepareStackTrace, { [_wasWrapped]: true });
|
||||
Object.defineProperty(Error, 'prepareStackTrace', {
|
||||
configurable: false,
|
||||
get() {
|
||||
return _prepareStackTrace;
|
||||
},
|
||||
set(v) {
|
||||
if (v && (v as any)[_wasWrapped]) {
|
||||
_prepareStackTrace = v;
|
||||
return
|
||||
}
|
||||
|
||||
_prepareStackTrace = function (error, stackTrace) {
|
||||
prepareStackTraceAndFindExtension(error, stackTrace);
|
||||
return v.call(Error, error, stackTrace);
|
||||
};
|
||||
|
||||
Object.assign(_prepareStackTrace, { [_wasWrapped]: true });
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user