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 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 7557x 7557x 7557x 7557x 7557x 7557x 7557x 7557x 7557x 7557x 7557x 7557x 1x 1x 464x 464x 1x 1x 7793x 7793x 1x 1x 2753x 2753x 1x 1x 25693x 25693x 1x 1x 3990x 1596x 3990x 2394x 2394x 30833x 30822x 30822x 2394x 2394x 2394x 3990x 1x 1x 23971x 23971x 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"; export class ABAPFile extends AbstractFile { 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 getInfo(): IABAPFileInformation { return this.info; } public getRawRows(): string[] { return this.file.getRawRows(); } 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; } } |