首页 > 解决方案 > JavaParser SymbolSolver 和 JGit 查找给定提交的方法限定名称

问题描述

考虑以下代码:

mt.resolve().getQualifiedSignature();

这里 mt 是 MethodDeclaration 类型,它可能来自 MethodCallExpr。

现在为了它能够准确地工作,我需要设置以下内容:

CombinedTypeSolver combinedTypeSolver = new CombinedTypeSolver();

combineTypeSolver.add(new ReflectionTypeSolver());

combineTypeSolver.add(new JavaParserTypeSolver(new File("src/java1/")));

combineTypeSolver.add(new JavaParserTypeSolver(new File("src/java2/")));

这很容易,但考虑到我的情况,我有两个问题。

1)我不能手动设置根源目录。我需要自动找到它们。

2)我不能像上面那样给出路径,因为我正在使用 jGit 来签出不同的提交。因此路径不是固定的,并且可能会根据不同的签出提交而有所不同。所以应该使用 JGit 树访问路径。

任何帮助将不胜感激。

标签: jgitjavaparserjavasymbolsolver

解决方案


推荐阅读