UNPKG

@abaplint/core

Version:
37 lines 2.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MessageSource = void 0; const Expressions = require("../../2_statements/expressions"); const source_1 = require("./source"); class MessageSource { static runSyntax(node, input) { var _a, _b, _c, _d, _e; for (const f of node.findDirectExpressions(Expressions.Source)) { source_1.Source.runSyntax(f, input); } if (node.getFirstToken().getStr().toUpperCase() === "ID") { const id = (_a = node.findExpressionAfterToken("ID")) === null || _a === void 0 ? void 0 : _a.concatTokens(); let number = (_b = node.findDirectExpression(Expressions.MessageNumber)) === null || _b === void 0 ? void 0 : _b.concatTokens(); if (number === undefined) { const num = (_c = node.findExpressionAfterToken("NUMBER")) === null || _c === void 0 ? void 0 : _c.concatTokens(); if (num === null || num === void 0 ? void 0 : num.startsWith("'")) { number = num.substring(1, num.length - 1).toUpperCase(); } } if ((id === null || id === void 0 ? void 0 : id.startsWith("'")) && number) { const messageClass = id.substring(1, id.length - 1).toUpperCase(); input.scope.getMSAGReferences().addUsing(input.filename, node.getFirstToken(), messageClass, number); } } else { const typeAndNumber = (_d = node.findDirectExpression(Expressions.MessageTypeAndNumber)) === null || _d === void 0 ? void 0 : _d.concatTokens(); const messageNumber = typeAndNumber === null || typeAndNumber === void 0 ? void 0 : typeAndNumber.substring(1); const messageClass = (_e = node.findDirectExpression(Expressions.MessageClass)) === null || _e === void 0 ? void 0 : _e.concatTokens().toUpperCase(); if (messageNumber && messageClass) { input.scope.getMSAGReferences().addUsing(input.filename, node.getFirstToken(), messageClass, messageNumber); } } } } exports.MessageSource = MessageSource; //# sourceMappingURL=message_source.js.map