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 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 14682x 14682x 14682x 14682x 14682x 156870x 156870x 156870x 156870x 156870x 156870x 156870x 156870x 156870x 156870x 156870x 156870x 14682x 14682x 2x 2x 14682x 14682x 14120x 14120x 14682x 14682x 264x 264x 14682x 14682x 295x 295x 295x 295x 68x 68x 227x 295x 2x 2x 2x 2x 227x 227x 227x 14682x 14682x | import {Issue} from "../issue";
import {Class} from "../objects";
import {BasicRuleConfig} from "./_basic_rule_config";
import {ABAPRule} from "./_abap_rule";
import * as Expressions from "../abap/2_statements/expressions";
import {ABAPObject} from "../objects/_abap_object";
import {IRuleMetadata, RuleTag} from "./_irule";
import {ABAPFile} from "../abap/abap_file";
export class FormTablesObsoleteConf extends BasicRuleConfig {
}
export class FormTablesObsolete extends ABAPRule {
private conf = new FormTablesObsoleteConf();
public getMetadata(): IRuleMetadata {
return {
key: "form_tables_obsolete",
title: "TABLES parameters are obsolete",
shortDescription: `Checks for TABLES parameters in forms.`,
extendedInformation: `https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/abapform_tables.html`,
tags: [RuleTag.SingleFile],
badExample: `FORM update_items TABLES items.
ENDFORM.`,
goodExample: `FORM update_items CHANGING items TYPE ty_items.
ENDFORM.`,
};
}
private getMessage(): string {
return "FORM TABLES parameters are obsolete";
}
public getConfig() {
return this.conf;
}
public setConfig(conf: FormTablesObsoleteConf) {
this.conf = conf;
}
public runParsed(file: ABAPFile, obj: ABAPObject) {
const ret: Issue[] = [];
const stru = file.getStructure();
if (obj instanceof Class || stru === undefined) {
return ret;
}
for (const form of stru.findAllExpressions(Expressions.FormTables)) {
const token = form.getFirstToken();
const issue = Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);
ret.push(issue);
}
return ret;
}
}
|