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 | 1x 1x 1x 1x 1x 1x 1x 465844x 465844x 1x 1x 1x 1x 1x 1x 46178x 46178x 1x 1x 371352x 371352x 1x 1x 1877231x 1877231x 1x 1x 3408x 3408x 1x 1x 42947x 42947x 1x 1x | import {INode} from "./_inode";
import {AbstractToken} from "../1_lexer/tokens/abstract_token";
export abstract class AbstractNode<T extends INode> implements INode {
protected children: T[];
public constructor() {
this.children = [];
}
public abstract get(): any;
public abstract getFirstToken(): AbstractToken;
public abstract getLastToken(): AbstractToken;
public addChild(n: T) {
this.children.push(n);
}
public setChildren(children: T[]) {
this.children = children;
}
public getChildren(): readonly T[] {
return this.children;
}
public getFirstChild(): T | undefined {
return this.children[0];
}
public getLastChild(): T | undefined {
return this.children[this.children.length - 1];
}
} |