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 233793x 233793x 233793x 233793x 1x 1x 1x 1x 1x 5313209x 5313209x 1x 1x 3888416x 3888416x 1x 1x 122533x 122533x 1x 1x 169436x 169436x 1x 1x 59795x 59795x 1x 1x 18447x 18447x 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);
}
} |