Open Guitenbay opened 2 years ago
对于以下情况 gen.java 不能处理: src/Main.java
src/Main.java
public static void main(String[] args) { ... Global.LOGS.add("TEST"); }
src/Global.java
public class Global { public static List<String> LOGS = new ArrayList<>(Arrays.asList("<GLOBAL LOGS>", "--------------")); ... }
Main.java的 Global.LOGS 链接不到 Global.java 的静态变量 LOGS
Main.java
Global.java
原因是 gen.java 里的 edu.pku.code2graph.gen.jdt.ExpressionVisitor.java 第 1095 行:
edu.pku.code2graph.gen.jdt.ExpressionVisitor.java
case ASTNode.QUALIFIED_NAME: { QualifiedName name = (QualifiedName) exp; root.setType(NodeType.QUALIFIED_NAME); root.setUri(createIdentifier(name.getFullyQualifiedName())); GraphUtil.addNode(root); break; }
缺少对 ((QualifiedName) exp).getName() 这个SimpleName节点的处理
((QualifiedName) exp).getName()
解决方案:
对于以下情况 gen.java 不能处理:
src/Main.java
src/Global.java
Main.java
的 Global.LOGS 链接不到Global.java
的静态变量 LOGS原因是 gen.java 里的
edu.pku.code2graph.gen.jdt.ExpressionVisitor.java
第 1095 行:缺少对
((QualifiedName) exp).getName()
这个SimpleName节点的处理解决方案: