| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | 'use strict';const Mixin = require('../../utils/mixin');class ErrorReportingMixinBase extends Mixin {    constructor(host, opts) {        super(host);        this.posTracker = null;        this.onParseError = opts.onParseError;    }    _setErrorLocation(err) {        err.startLine = err.endLine = this.posTracker.line;        err.startCol = err.endCol = this.posTracker.col;        err.startOffset = err.endOffset = this.posTracker.offset;    }    _reportError(code) {        const err = {            code: code,            startLine: -1,            startCol: -1,            startOffset: -1,            endLine: -1,            endCol: -1,            endOffset: -1        };        this._setErrorLocation(err);        this.onParseError(err);    }    _getOverriddenMethods(mxn) {        return {            _err(code) {                mxn._reportError(code);            }        };    }}module.exports = ErrorReportingMixinBase;
 |