3
为什么声纳需要二进制文件(sonar.binaries)?它如何使用二进制文件来完成对二进制文件的操作?为什么声纳需要二进制文件(sonar.binaries)
为什么声纳需要二进制文件(sonar.binaries)?它如何使用二进制文件来完成对二进制文件的操作?为什么声纳需要二进制文件(sonar.binaries)
sonar.binaries
是一个过时的属性:您现在应该使用sonar.java.binaries
该属性用于由Java分析(所以我假设你正在分析Java代码)。
分析是在源代码级完成文件,为了正确进行语义分析,Java分析器从.class
文件中读取外部依赖关系的信息。
具体,这是它如何工作的:在分析A.java
它声明:
class A {
B b;
}
的java的分析将建设A级的语义模型和外部依赖性看看字节码B.class
完成其语义分析。
为什么这样做?为了解决表达式的类型有更准确的分析。 (即:回答这个问题:什么是b.foo()的类型:我们需要找出foo()方法的定义)。
这是一个故意选择的实现依赖字节码的每个外部依赖关系,即使我们有它们的来源。
谢谢本,这是有益的!! .. :) –