表达式语言DSL实现与Xtext语法规则详解
1. 快速修复方法重构与代码整洁性
在Xtext编辑器中,添加实体的方法能够正常工作,并且内容能保持一致更新。此时可以对快速修复提供方法进行重构,代码如下:
@Fix(Diagnostic.LINKING_DIAGNOSTIC)
def void createMissingEntity(Issue issue,
IssueResolutionAcceptor acceptor) {
acceptor.accept(issue,
"Create missing entity", // label
"Create missing entity", // description
"Entity.gif", // icon
[ EObject element, IModificationContext context |
EntitiesModelUtil.addEntityAfter(
element.getContainerOfType(Entity),
context.xtextDocument.get(issue.offset, issue.length)
)
]
)
}
由于该快速修复提供方法依赖的概念已单独测试过,所以可以放心使用。在实现DSL时,编写简洁的代码十分重要,这包括模块化、可读性和可维护性。Xtext通过分解为多个可定制方面,提供了许多功能来保持DSL实现的简洁和模块化。Xtend则通
超级会员免费看
订阅专栏 解锁全文
1477

被折叠的 条评论
为什么被折叠?



