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 14684x 14684x 14684x 14684x 14684x 58092x 58092x 58092x 58092x 58092x 58092x 14684x 14684x 65x 65x 14684x 14684x 14120x 14120x 14684x 14684x 264x 264x 14684x 14684x 267x 267x 14684x 14684x 364x 364x 364x 74x 74x 74x 1x 74x 64x 64x 74x 65x 65x 65x 65x 74x 364x 364x 364x 14684x 14684x | 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;
}
} |