UNPKG

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