UNPKG

@abaplint/core

Version:
69 lines 2.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OmitReceiving = exports.OmitReceivingConf = void 0; const issue_1 = require("../issue"); const _basic_rule_config_1 = require("./_basic_rule_config"); const _irule_1 = require("./_irule"); const Expressions = require("../abap/2_statements/expressions"); const _abap_rule_1 = require("./_abap_rule"); class OmitReceivingConf extends _basic_rule_config_1.BasicRuleConfig { } exports.OmitReceivingConf = OmitReceivingConf; class OmitReceiving extends _abap_rule_1.ABAPRule { constructor() { super(...arguments); this.conf = new OmitReceivingConf(); } getMetadata() { return { key: "omit_receiving", title: "Omit RECEIVING", shortDescription: `Omit RECEIVING`, extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#omit-receiving`, tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile], badExample: ` upload_pack( EXPORTING io_client = lo_client iv_url = iv_url iv_deepen_level = iv_deepen_level it_hashes = lt_hashes RECEIVING rt_objects = et_objects ).`, goodExample: ` et_objects = upload_pack( io_client = lo_client iv_url = iv_url iv_deepen_level = iv_deepen_level it_hashes = lt_hashes ).`, }; } getConfig() { return this.conf; } setConfig(conf) { this.conf = conf; } runParsed(file) { var _a; const issues = []; for (const e of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllExpressions(Expressions.MethodCallParam)) || []) { const p = e.findDirectExpression(Expressions.MethodParameters); if (p === undefined) { continue; } const r = p.findDirectTokenByText("RECEIVING"); if (r === undefined) { continue; } const ex = p.findDirectTokenByText("EXCEPTIONS"); if (ex !== undefined) { continue; } issues.push(issue_1.Issue.atToken(file, r, "Omit RECEIVING", this.getMetadata().key, this.getConfig().severity)); } return issues; } } exports.OmitReceiving = OmitReceiving; //# sourceMappingURL=omit_receiving.js.map