【发布时间】:2018-01-05 11:43:42
【问题描述】:
我有 3 个模板,例如:-
main, genA, genB
genB 模块是genA 的规范,应该覆盖一个模板bar。问题是,如果你在 genA 中调用被覆盖的模板,它不是genB.中指定的模板
这里是简化的模板:-
主要:-
[module main('http://www.eclipse.org/uml2/5.0.0/UML')]
[import genB /]
[template public generateElement(aClass : Class)]
[comment @main/]
[foo() /][bar() /]
[/template]
genA:-
[module generateA('http://www.eclipse.org/uml2/5.0.0/UML') extends genB]
[template public foo()]
[bar() /]
[/template]
[template public bar()]
barA
[/template]
genB:-
[module generateB('http://www.eclipse.org/uml2/5.0.0/UML') extends genA]
[template public bar() overrides bar]
barB
[/template]
输出为barAbarB,因此genA 内的调用不会被覆盖。 docs 中提到了此行为。覆盖模板的建议方法是什么?
【问题讨论】:
标签: eclipse templates extend overwrite acceleo