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 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import {ExpressionNode} from "../abap/nodes"; import {CDSParser} from "../cds/cds_parser"; import {AbstractObject} from "./_abstract_object"; import {IParseResult} from "./_iobject"; export type ParsedMetadataExtension = { tree: ExpressionNode | undefined; }; export class CDSMetadataExtension extends AbstractObject { private parserError: boolean | undefined = undefined; private parsedData: ParsedMetadataExtension | undefined = undefined; public getType(): string { return "DDLX"; } public getAllowedNaming() { return { maxLength: 40, allowNamespace: true, }; } public hasParserError() { return this.parserError; } public parse(): IParseResult { if (this.isDirty() === false) { return {updated: false, runtime: 0}; } const start = Date.now(); this.parsedData = { tree: undefined, }; this.parsedData.tree = new CDSParser().parse(this.findSourceFile()); if (this.parsedData.tree === undefined) { this.parserError = true; } this.dirty = false; return {updated: true, runtime: Date.now() - start}; } public getDescription(): string | undefined { // todo return undefined; } public findSourceFile() { return this.getFiles().find(f => f.getFilename().endsWith(".asddlxs") || f.getFilename().endsWith(".acds")); } } |