jgit - 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 树访问路径。
任何帮助将不胜感激。
解决方案
推荐阅读
- typescript - 在转译的 TypeScript 中强制执行严格的类型检查
- ffmpeg - 使用 FFmpeg 精确切割 mp4 文件
- html - Mozilla Firefox 上的纵横比
- r - VSPKnown 中的错误(N, n, k, Pa = seq(0, 1, 0.001), Plots = TRUE)
- android - Android:将公共 Google Drive 文件夹中的图像加载到 ImageView 中随机工作
- python - Python List 分配似乎被带走了
- django - sites_query = connection.execute("SELECT domain FROM django_site") psycopg2 没有属性执行
- javascript - 如何捕捉“JavaScript 堆内存不足”?
- java - java.lang.UnsupportedOperationException:反射 setAccessible(true) 已禁用
- c# - 不必要的 NullReferenceException?