首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Eclipse Groovy DSLDs和静态编译

Eclipse Groovy DSLDs和静态编译
EN

Stack Overflow用户
提问于 2017-07-04 14:20:54
回答 1查看 242关注 0票数 1

是否可以定义可以静态编译的Eclipse Groovy DSLD (DSL定义)?

我尝试使用Eclipse提供的示例,所以我创建了TestDsl.dsld

代码语言:javascript
复制
contribute(currentType(subType('groovy.lang.GroovyObject'))) {
    property (
        name : 'newProp',
        type : String,
        provider : 'Sample DSL',
        doc : 'This is a sample.  You should see this in content assist for GroovyObjects: <pre>newProp</pre>')
}

然后,我使用以前的属性编写了一个测试类。这个类应该静态编译。Eclipse将新属性显示为有效属性,但随后无法编译。

使用@CompileStatic@TypeChecked也会产生相同的结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-31 18:47:04

DSLDs将新的方法和属性引入到内容辅助和类型推断中。这并不能保证方法或属性在编译或运行时可用。它们的作用更像暗示,而不是任何东西。

经常使用used来填补静态类型检查器和程序的动态执行状态之间的空白。如果您想要与@TypeChecked@CompileStatic兼容的东西,您可能需要编写一个TypeChekingExtension,而不是DSLD贡献。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44908400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档