UNPKG

@abaplint/core

Version:
28 lines 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Do = void 0; const Expressions = require("../../2_statements/expressions"); const source_1 = require("../expressions/source"); const target_1 = require("../expressions/target"); const _type_utils_1 = require("../_type_utils"); const basic_1 = require("../../types/basic"); const _syntax_input_1 = require("../_syntax_input"); class Do { runSyntax(node, input) { const afterDo = node.findExpressionAfterToken("DO"); for (const s of node.findDirectExpressions(Expressions.Source)) { const type = source_1.Source.runSyntax(s, input); if (s === afterDo && new _type_utils_1.TypeUtils(input.scope).isAssignable(type, basic_1.IntegerType.get()) === false) { const message = "DO TIMES must be numeric"; input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message)); return; } } for (const t of node.findDirectExpressions(Expressions.Target)) { target_1.Target.runSyntax(t, input); } } } exports.Do = Do; //# sourceMappingURL=do.js.map