export class SourceInfo { static createSourceInfo (token) { return new SourceInfo(token.line, token.column, token.text.length); } static createSourceInfoFromList (tokenA, tokenB) { const line = tokenA.line; const column = tokenA.column; // copied from https://github.com/UNIVALI-LITE/Portugol-Studio/blob/master/core/src/main/java/br/univali/portugol/nucleo/analise/sintatica/Portugol.g // No idea why... const size = tokenB.tokenIndex + 1 - tokenA.tokenIndex return new SourceInfo(line, column, size); } constructor (line, column, size) { this.line = line; this.column = column; this.size = size; } }