【发布时间】:2011-08-11 04:10:54
【问题描述】:
正如 Eclipse 文档所建议的,我有一个 org.eclipse.core.resources.IncrementalProjectBuilder 来编译每个源文件,并且我还有一个单独的 org.eclipse.ui.editors.text.TextEditor 可以编辑每个源文件。每个源文件都编译到自己的编译单元中,但它可以引用其他(已编译的)源文件的类型。
这两个重要的任务是:
- 编译(以确保我们使用的类型确实存在)
- 自动完成(查找类型,以便我们查看其上存在哪些属性/方法)
为此,我想将所有已编译类型的表示形式存储在内存中(以下称为我的“类型存储”)。
我的问题有两个:
上面的任务一由构建器执行,任务二由编辑器执行。为了让他们都可以访问这种类型的商店,我应该在他们都可以访问的地方创建一个静态商店,还是 Eclipse 提供了一种更简洁的方法来处理这个问题?请注意,在需要时实例化构建器和编辑器的是 eclipse,而不是我。
打开 Eclipse 时,我不想重建整个项目,以便重新填充我的类型存储。到目前为止,我最好的解决方案是将这些数据保存在某个地方,然后从中重新填充我的商店(也许在项目打开时)。这是其他增量编译器通常这样做的方式吗?我相信 Java 的方法是使用一种特殊的解析器,可以有效地从类文件中提取这些数据。
任何见解都将不胜感激。这是我的第一个 DSL。
【问题讨论】:
标签: eclipse-plugin incremental-build incremental-linking incremental-compiler