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 11203x 11203x 11203x 11203x 11203x 11203x 11203x 11203x 11203x 11203x 11203x 11203x 1x 1x 512x 512x 1x 1x 2724x 2724x 1x 1x 8984x 8984x 1x 1x 32687x 32687x 1x 1x 5728x 1167x 5728x 4561x 4561x 71145x 71134x 71134x 4561x 4561x 4561x 5728x 1x 1x 30810x 30810x 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;
}
} |