JDT使用一些内部智能将注释与ASTNode相关联。这意味着如果您替换或删除特定的ASTNode,将删除“关联”注释(请参阅this thread)。这适用于大多数场合,但我遇到了一个相当令人讨厌的问题:
我正在尝试重写该样式的代码:
private classA variableX;
到
private classZ variableX;
通常我只需用类似的Type节点(对应于“classZ”)替换“classA”对应的Type节点即可。但是,以下是现实世界的案例:
private/* some comment here */classA variableX;
转换为
privateclassZ variableX;
当然会导致问题。
有没有办法告诉我的CompilerUnit.rewrite()调用保留原始注释?