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 252253x 252253x 252253x 252253x 1x 1x 1x 1x 1x 1580404x 1580404x 1x 1x 3137686x 3137686x 1x 1x 107493x 107493x 1x 1x 149215x 149215x 1x 1x 57926x 57926x 1x 1x 17503x 17503x 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);
}
} |