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 246929x 246929x 246929x 246929x 1x 1x 1x 1x 1x 1463036x 1463036x 1x 1x 2841523x 2841523x 1x 1x 104252x 104252x 1x 1x 146675x 146675x 1x 1x 57859x 57859x 1x 1x 17436x 17436x 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);
}
} |