@abaplint/core
Version:
abaplint - Core API
17 lines • 1.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MethodImplementation = void 0;
const combi_1 = require("../combi");
const expressions_1 = require("../expressions");
class MethodImplementation {
getMatcher() {
const name = (0, combi_1.regex)(/[\w~]+/);
const kernel = (0, combi_1.seq)("KERNEL MODULE", (0, combi_1.plus)(name), (0, combi_1.optPrio)((0, combi_1.altPrio)("FAIL", "IGNORE")));
const using = (0, combi_1.seq)("USING", (0, combi_1.plus)(expressions_1.SimpleFieldChain));
const database = (0, combi_1.seq)("DATABASE", (0, combi_1.alt)("PROCEDURE", "FUNCTION", "GRAPH WORKSPACE"), "FOR HDB", expressions_1.Language, (0, combi_1.opt)("OPTIONS READ-ONLY"), (0, combi_1.opt)(using));
const by = (0, combi_1.seq)("BY", (0, combi_1.alt)(kernel, database));
return (0, combi_1.seq)("METHOD", expressions_1.MethodName, (0, combi_1.optPrio)(by));
}
}
exports.MethodImplementation = MethodImplementation;
//# sourceMappingURL=method_implementation.js.map