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 14294x 14294x 14294x 14294x 14294x 14294x 14294x 14294x 14294x 14294x 14294x 14294x 1x 1x 562x 562x 1x 1x 3844x 3844x 1x 1x 9416x 9416x 1x 1x 44870x 44870x 1x 1x 5819x 1248x 5819x 4571x 4571x 71330x 71319x 71319x 4571x 4571x 4571x 5819x 1x 1x 52391x 52391x 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;
}
} |