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 8096x 8096x 8096x 8096x 8096x 8096x 8096x 8096x 8096x 8096x 8096x 8096x 1x 1x 457x 457x 1x 1x 2444x 2444x 1x 1x 7412x 7412x 1x 1x 25341x 25341x 1x 1x 3426x 736x 3426x 2690x 2690x 35111x 35100x 35100x 2690x 2690x 2690x 3426x 1x 1x 23605x 23605x 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;
}
} |