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 240457x 240457x 240457x 240457x 1x 1x 1x 1x 1x 5258689x 5258689x 1x 1x 3936638x 3936638x 1x 1x 125840x 125840x 1x 1x 177336x 177336x 1x 1x 57119x 57119x 1x 1x 19569x 19569x 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);
}
} |