UNPKG

2.73 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.ParserMessageLog = void 0;
4var ParserMessage_1 = require("./ParserMessage");
5/**
6 * Used to report errors and warnings that occurred during parsing.
7 */
8var ParserMessageLog = /** @class */ (function () {
9 function ParserMessageLog() {
10 this._messages = [];
11 }
12 Object.defineProperty(ParserMessageLog.prototype, "messages", {
13 /**
14 * The unfiltered list of all messages.
15 */
16 get: function () {
17 return this._messages;
18 },
19 enumerable: false,
20 configurable: true
21 });
22 /**
23 * Append a message to the log.
24 */
25 ParserMessageLog.prototype.addMessage = function (parserMessage) {
26 this._messages.push(parserMessage);
27 };
28 /**
29 * Append a message associated with a TextRange.
30 */
31 ParserMessageLog.prototype.addMessageForTextRange = function (messageId, messageText, textRange) {
32 this.addMessage(new ParserMessage_1.ParserMessage({
33 messageId: messageId,
34 messageText: messageText,
35 textRange: textRange
36 }));
37 };
38 /**
39 * Append a message associated with a TokenSequence.
40 */
41 ParserMessageLog.prototype.addMessageForTokenSequence = function (messageId, messageText, tokenSequence, docNode) {
42 this.addMessage(new ParserMessage_1.ParserMessage({
43 messageId: messageId,
44 messageText: messageText,
45 textRange: tokenSequence.getContainingTextRange(),
46 tokenSequence: tokenSequence,
47 docNode: docNode
48 }));
49 };
50 /**
51 * Append a message associated with a TokenSequence.
52 */
53 ParserMessageLog.prototype.addMessageForDocErrorText = function (docErrorText) {
54 var tokenSequence;
55 if (docErrorText.textExcerpt) {
56 // If there is an excerpt directly associated with the DocErrorText, highlight that:
57 tokenSequence = docErrorText.textExcerpt;
58 }
59 else {
60 // Otherwise we can use the errorLocation, but typically that is meant to give additional
61 // details, not to indicate the primary location of the problem.
62 tokenSequence = docErrorText.errorLocation;
63 }
64 this.addMessage(new ParserMessage_1.ParserMessage({
65 messageId: docErrorText.messageId,
66 messageText: docErrorText.errorMessage,
67 textRange: tokenSequence.getContainingTextRange(),
68 tokenSequence: tokenSequence,
69 docNode: docErrorText
70 }));
71 };
72 return ParserMessageLog;
73}());
74exports.ParserMessageLog = ParserMessageLog;
75//# sourceMappingURL=ParserMessageLog.js.map
\No newline at end of file