@abaplint/core
Version:
abaplint - Core API
30 lines • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConvBody = void 0;
const Expressions = require("../../2_statements/expressions");
const source_1 = require("./source");
const let_1 = require("./let");
const _syntax_input_1 = require("../_syntax_input");
const basic_1 = require("../../types/basic");
class ConvBody {
static runSyntax(node, input) {
let scoped = false;
const l = node.findDirectExpression(Expressions.Let);
if (l) {
scoped = let_1.Let.runSyntax(l, input);
}
const s = node.findDirectExpression(Expressions.Source);
if (s === undefined) {
const message = "ConvBody, no source found";
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
}
const sourceType = source_1.Source.runSyntax(s, input);
if (scoped === true) {
input.scope.pop(node.getLastToken().getEnd());
}
return sourceType;
}
}
exports.ConvBody = ConvBody;
//# sourceMappingURL=conv_body.js.map