我在eclipse helios中做了一个插件,用于解析(AST)和比较代码。首先,我解析代码并保留MethodDeclaration节点。然后我从代码中选择一个方法来与节点的方法进行比较。
我将代码保存在SelectedText selectedText
和MethodDeclaration method
中的节点。
如何比较这两个变量以了解它们是否持有相同的代码???我已经完成了下一个代码,但它不起作用:
for (MethodDeclaration method : visitor.getMethods()) {
if(selectedText.getSelectedText().equals(method.toString())){
MessageDialog.openInformation(shell, "COMPARISON", "GOOD");
}
}
答案 0 :(得分:0)
您还需要将选定的代码解析为AST;否则a=0
和a = 0
等空白区域的简单差异会有所不同。
查看Java编辑器的源代码,应该可以询问它当前所选方法的AST节点。