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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 8255x 8255x 8255x 8255x 8255x 8255x 8255x 8255x 8255x 8255x 8255x 8255x 1x 1x 460x 460x 1x 1x 2469x 2469x 1x 1x 7493x 7493x 1x 1x 26109x 26109x 1x 1x 3451x 745x 3451x 2706x 2706x 35493x 35482x 35482x 2706x 2706x 2706x 3451x 1x 1x 24597x 24597x 1x 1x | import {Pragma} from "./1_lexer/tokens";
import {AbstractToken} from "./1_lexer/tokens/abstract_token";
import {AbstractFile} from "../files/_abstract_file";
import {IFile} from "../files/_ifile";
import {StructureNode, StatementNode} from "./nodes";
import {IABAPFileInformation} from "./4_file_information/_abap_file_information";
import {IABAPFile} from "./iabap_file";
export class ABAPFile extends AbstractFile implements IABAPFile {
private readonly tokens: readonly AbstractToken[];
private readonly statements: readonly StatementNode[];
private readonly structure: StructureNode | undefined;
private readonly file: IFile;
private readonly info: IABAPFileInformation;
public constructor(file: IFile,
tokens: readonly AbstractToken[],
statements: readonly StatementNode[],
structure: StructureNode | undefined,
info: IABAPFileInformation) {
super(file.getFilename());
this.file = file;
this.tokens = tokens;
this.statements = statements;
this.structure = structure;
this.info = info;
}
public getRaw(): string {
return this.file.getRaw();
}
public getRawRows(): string[] {
return this.file.getRawRows();
}
public getInfo(): IABAPFileInformation {
return this.info;
}
public getStructure(): StructureNode | undefined {
return this.structure;
}
public getTokens(withPragmas = true): readonly AbstractToken[] {
if (withPragmas === true) {
return this.tokens;
} else {
const tokens: AbstractToken[] = [];
this.tokens.forEach((t) => {
if (!(t instanceof Pragma)) {
tokens.push(t);
}
});
return tokens;
}
}
public getStatements(): readonly StatementNode[] {
return this.statements;
}
} |