将所选代码与ASTNode进行比较

时间:2013-01-29 10:57:49

标签: java

我在eclipse helios中做了一个插件,用于解析(AST)和比较代码。首先,我解析代码并保留MethodDeclaration节点。然后我从代码中选择一个方法来与节点的方法进行比较。

我将代码保存在SelectedText selectedTextMethodDeclaration method中的节点。

如何比较这两个变量以了解它们是否持有相同的代码???我已经完成了下一个代码,但它不起作用:

for (MethodDeclaration method : visitor.getMethods()) {                       
          if(selectedText.getSelectedText().equals(method.toString())){
              MessageDialog.openInformation(shell, "COMPARISON", "GOOD");                 
          }
      }

1 个答案:

答案 0 :(得分:0)

您还需要将选定的代码解析为AST;否则a=0a = 0等空白区域的简单差异会有所不同。

查看Java编辑器的源代码,应该可以询问它当前所选方法的AST节点。