如何调用为抽象概念的具体实例配置的任何生成器规则?

How to invoke whatever generator rule is configured for a concrete instance of an abstract concept?

我有一组概念节点 Command,我正在使用 $LOOP$ 宏对其进行迭代。 Command是一个抽象的概念。我已经为具体的子概念定义了模板和缩减规则,例如 Outline:

template tpl_Outline
input    Outline

...

reduction rules:
  [concept    Outline ] --> tpl_Outline
  [inheritors false   ]
  [condition  <always>]

问题: 我如何从 $LOOP$ 宏内部为 concrete 概念调用适当的生成器规则节点只知道是抽象类型 Command?

[编辑] 由于建议的答案特定于循环元素集合,如果没有循环,我将如何做同样的事情?即如何触发给定节点(例如当前节点的某个子节点)的配置规则。

注意 1: 我试过只使用 $LOOP$[null],希望元素节点能够通过适当的规则自动处理,但结果只是 null s 在输出中。

注 2: 我试过 $LOOP[$COPY_SRC$[null]],但结果是

textgen error: 'No textgen for Draw.structure.Outline' in [actualArgument] Outline null[847086916111387210] in Draw.sandbox@0

[编辑 2]这实际上是一个可行的解决方案。有用的可能是使缓存无效(只是 重建项目 不起作用).

注3:之前我是使用模板开关根据具体概念调用合适的模板,现在想支持自定义扩展Command所以我无法再创建详尽的模板开关。

尝试使用 $COPY_SRCL$(L 在这里代表循环),这个宏是专为您的情况而设计的。 此外,模板开关是可扩展的

关于您的 Build --> Rebuild Project 问题:有时 File --> Invalidate caches 可以帮助解决此类问题。