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 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | 1x 1x 1x 1x 1x 1x 1x 1x 245098x 245098x 245098x 245098x 1x 1x 1x 1x 1x 1448183x 1448183x 1x 1x 2837593x 2837593x 1x 1x 102583x 102583x 1x 1x 144777x 144777x 1x 1x 56841x 56841x 1x 1x 17019x 17019x 1x | import {Position} from "../../../position";
export abstract class AbstractToken {
private readonly start: Position;
private readonly str: string;
private readonly strUpper: string;
public constructor(start: Position, str: string) {
this.start = start;
this.str = str;
this.strUpper = str.toUpperCase();
}
// special function, for debugging purposes, see https://github.com/abaplint/abaplint/pull/3137
public [Symbol.for("debug.description")](){
return `${this.constructor.name} ${this.str}`;
}
public getStr(): string {
return this.str;
}
public getUpperStr(): string {
return this.strUpper;
}
public getRow(): number {
return this.start.getRow();
}
public getCol(): number {
return this.start.getCol();
}
public getStart(): Position {
return this.start;
}
public getEnd(): Position {
return new Position(this.start.getRow(), this.start.getCol() + this.str.length);
}
} |