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 7840x 7840x 7840x 7840x 7840x 7840x 7840x 7840x 7840x 7840x 7840x 7840x 1x 1x 475x 475x 1x 1x 7982x 7982x 1x 1x 2824x 2824x 1x 1x 26771x 26771x 1x 1x 3402x 818x 3402x 2584x 2584x 33340x 33329x 33329x 2584x 2584x 2584x 3402x 1x 1x 25350x 25350x 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; } } |