antlr-ng
Version:
Next generation ANTLR Tool
21 lines (20 loc) • 822 B
JavaScript
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
const modelElementSymbol = Symbol("ModelElement");
const ModelElement = /* @__PURE__ */ __name((target, context) => {
context.addInitializer(function() {
const constructor = Object.getPrototypeOf(this).constructor;
if (!constructor[modelElementSymbol]) {
constructor[modelElementSymbol] = /* @__PURE__ */ new Set();
}
constructor[modelElementSymbol].add(context.name);
});
}, "ModelElement");
const isModelElement = /* @__PURE__ */ __name((instance, fieldName) => {
const constructor = Object.getPrototypeOf(instance).constructor;
return constructor[modelElementSymbol]?.has(fieldName) ?? false;
}, "isModelElement");
export {
ModelElement,
isModelElement
};