@abaplint/core
Version:
abaplint - Core API
29 lines • 1.02 kB
JavaScript
;
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