我正在创建一个eclipse插件:一个使用Eclipse JDT库的重构工具。该项目的一部分是利用另一个库,一种过程编程语言,要求对象可以序列化,以便在步骤之间传递。我希望我能改变这个,但我不能,所以我需要一种方法来使AST对象可序列化。
我的第一次尝试是定义一个实现Serializable并保存瞬态AST的代理类,并使用诸如XStream和GSON之类的库来实际序列化和反序列化AST。但是我在那里遇到了循环引用错误。我仍然喜欢这个想法,但我还没有找到能够做到这一点的图书馆。
还有其他想法吗?改变源代码和重新编译是否会影响插件的可移植性?这可以通过加载时间方面编织来实现吗?