Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 1x 1x 1x 1x 1x 1x 1x 603x 410x 603x 190x 190x 3x 3x 190x 193x 3x 3x 603x 1x | import {ExpressionNode} from "../../nodes"; import {CharacterType, IntegerType, StringType} from "../../types/basic"; import {AbstractType} from "../../types/basic/_abstract_type"; import {Integer} from "../../2_statements/expressions"; export class Constant { public runSyntax(node: ExpressionNode): AbstractType { if(node.findDirectExpression(Integer)) { return new IntegerType({qualifiedName: "I"}); } else if (node.getFirstToken().getStr().startsWith("'")) { let len = node.getFirstToken().getStr().length - 2; if (len <= 0) { len = 1; } return new CharacterType(len); } else { return new StringType({qualifiedName: "STRING"}); } } } |