UNPKG

@abaplint/core

Version:
29 lines 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Constant = void 0; const basic_1 = require("../../types/basic"); const expressions_1 = require("../../2_statements/expressions"); class Constant { static runSyntax(node) { // todo: ConcatenatedConstant is not used? if (node.findDirectExpression(expressions_1.Integer)) { return basic_1.IntegerType.get({ derivedFromConstant: true }); } const first = node.getFirstToken().getStr(); if (first.startsWith("'")) { let len = first.length - 2; if (len <= 0) { len = 1; } return new basic_1.CharacterType(len, { derivedFromConstant: true }); } else if (first.startsWith("`")) { return basic_1.StringType.get({ derivedFromConstant: true }); } else { return basic_1.StringType.get(); } } } exports.Constant = Constant; //# sourceMappingURL=constant.js.map