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 7974x 7974x 7974x 7974x 7974x 7974x 7974x 7974x 7974x 7974x 7974x 7974x 1x 1x 491x 491x 1x 1x 8120x 8120x 1x 1x 2878x 2878x 1x 1x 27378x 27378x 1x 1x 3469x 837x 3469x 2632x 2632x 34070x 34059x 34059x 2632x 2632x 2632x 3469x 1x 1x 25897x 25897x 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; } } |