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 7846x 7846x 7846x 7846x 7846x 7846x 7846x 7846x 7846x 7846x 7846x 7846x 1x 1x 475x 475x 1x 1x 7982x 7982x 1x 1x 2824x 2824x 1x 1x 26779x 26779x 1x 1x 3404x 818x 3404x 2586x 2586x 33350x 33339x 33339x 2586x 2586x 2586x 3404x 1x 1x 25354x 25354x 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; } } |