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 10134x 10134x 10134x 10134x 10134x 30282x 30282x 30282x 30282x 30282x 30282x 10134x 10134x 59x 59x 10134x 10134x 9625x 9625x 10134x 10134x 238x 238x 10134x 10134x 241x 241x 10134x 10134x 305x 305x 305x 68x 68x 68x 1x 68x 58x 58x 68x 59x 59x 59x 59x 68x 305x 305x 305x 10134x 10134x | import {Issue} from "../issue"; import {IRule} from "./_irule"; import {IObject} from "../objects/_iobject"; import {Class, Interface} from "../objects"; import {IRegistry} from "../_iregistry"; import {BasicRuleConfig} from "./_basic_rule_config"; import {Position} from "../position"; // standard class CL_OO_CLASS assumes classes have descriptions export class DescriptionEmptyConf extends BasicRuleConfig { } export class DescriptionEmpty implements IRule { private conf = new DescriptionEmptyConf(); public getMetadata() { return { key: "description_empty", title: "Description in class must exist", shortDescription: `Ensures descriptions in class metadata exist.`, }; } private getDescription(name: string): string { return "Description empty in " + name; } public getConfig() { return this.conf; } public setConfig(conf: DescriptionEmptyConf) { this.conf = conf; } public initialize(_reg: IRegistry) { return this; } public run(obj: IObject): Issue[] { const issues: Issue[] = []; if (obj instanceof Class || obj instanceof Interface) { const description = obj.getDescription(); let message: string | undefined = undefined; if (description === "") { message = this.getDescription(obj.getName()); } else if (description === undefined) { message = this.getDescription(obj.getName() + ", class XML file not found") ; } if (message) { const position = new Position(1, 1); const issue = Issue.atPosition(obj.getFiles()[0], position, message, this.getMetadata().key, this.conf.severity); issues.push(issue); } } return issues; } } |