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;
|