假设我在Class A
中有以下pkg1
,Class B
中有pkg2
,calculate()
{{1}中定义了函数pkg2
如下:
class B
我想确定参数B.calculate(A a1, A a2);
和a1
的类型。例如,a2
和pkg1.A
pkg1.A
属于class A
。
我主要担心的是,我不想构建项目,我想做静态分析(我有所有的源文件)。
我知道使用Eclipse JDT推断参数类型的方法但是如何使用javaparser(https://github.com/javaparser/javaparser)和javasymbolsolver(https://github.com/javaparser/javasymbolsolver)来实现。
在Eclipse JDT中,我刚刚设置了源文件'解析器环境中的路径,它工作。但是在javasymbolsolver中,即使我在typesolver中添加了源文件,它也无法正常工作。
pkg1
答案 0 :(得分:0)
您还需要指定依赖项的路径。 CombinedTypeSolver不仅应该知道在哪里找到源文件,还要知道所有的jar文件。
这样的事情应该有效:
combinedTypeSolver.add(new JarTypeSolver(new File(" libs / mylib.jar")));
来源:我是JavaSymbolSolver的主要人物