@abaplint/core
Version:
abaplint - Core API
20 lines • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ClassDefinition = void 0;
const combi_1 = require("../combi");
const expressions_1 = require("../expressions");
const version_1 = require("../../../version");
class ClassDefinition {
getMatcher() {
const create = (0, combi_1.seq)("CREATE", (0, combi_1.altPrio)("PUBLIC", "PROTECTED", "PRIVATE"));
const level = (0, combi_1.altPrio)("CRITICAL", "HARMLESS", "DANGEROUS");
const risk = (0, combi_1.seq)("RISK LEVEL", level);
const time = (0, combi_1.altPrio)("LONG", "MEDIUM", "SHORT");
const duration = (0, combi_1.seq)("DURATION", time);
const blah = (0, combi_1.per)(expressions_1.ClassGlobal, expressions_1.ClassFinal, "ABSTRACT", (0, combi_1.seq)("INHERITING FROM", expressions_1.SuperClassName), create, "FOR TESTING", risk, "SHARED MEMORY ENABLED", duration, (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)("FOR BEHAVIOR OF", expressions_1.BehaviorDefinitionName)), expressions_1.ClassFriends);
const def = (0, combi_1.seq)("DEFINITION", (0, combi_1.optPrio)(blah));
return (0, combi_1.seq)("CLASS", expressions_1.ClassName, def);
}
}
exports.ClassDefinition = ClassDefinition;
//# sourceMappingURL=class_definition.js.map