我目前正在为 lombok.ast 树开发一个抽象语法树访问者,该树应该在给定的 OutputStream 对象中以纯文本形式打印我的 AST 结构。
为了加快调试阶段,是否有任何测试源代码已经包含了大部分(如果不是全部)Java 结构?有很多特殊情况和奇怪的、不寻常的(但仍然可能)的事情,以至于很容易忘记其中的许多。
不必将其完全视为测试用例,任何具有很多复杂性和多样性的源代码就足够了。
提前感谢任何人。
编辑:有谁知道是否有办法了解 lombok.ast 的访问何时结束?
我目前正在为 lombok.ast 树开发一个抽象语法树访问者,该树应该在给定的 OutputStream 对象中以纯文本形式打印我的 AST 结构。
为了加快调试阶段,是否有任何测试源代码已经包含了大部分(如果不是全部)Java 结构?有很多特殊情况和奇怪的、不寻常的(但仍然可能)的事情,以至于很容易忘记其中的许多。
不必将其完全视为测试用例,任何具有很多复杂性和多样性的源代码就足够了。
提前感谢任何人。
编辑:有谁知道是否有办法了解 lombok.ast 的访问何时结束?
您应该查看openJDK 的来源(搜索jdk7/test
)。
使用访问者模式时,总是很难知道访问何时结束。当第一次找到父节点时会调用您,但在访问完所有子节点后不会再次调用。
通常的解决方案是在访问节点时收集信息,然后在访问完所有节点后查看收集到的信息并进行实际处理。