我使用Soot是为了能够使用它的调用图,但不幸的是,我在构造函数方面遇到了问题。
我认为最好用一个答案来解释这一点,所以这里是:
考虑一个类CachingCollector$NoScoreMachinegLeafCollector,其中NoScoreMachine LeafCollector扩展FilterLeafCollector。
我想得到这样一个类的构造函数,它的参数类型是:LeafCollector和int.
出于某种原因,Soot说有一个具有这些参数的构造函数,但第一个参数是CachingCollector。
我无法理解发生了什么,我已经尝试了几个小时,但都无济于事。更让我困惑的是,有一些内部类扩展了一些类,但Soot一开始并没有添加额外的参数。
任何帮助都将不胜感激!!
这样的问题在Soot邮件列表中得到的回答最快。
为了回答您的问题:Soot只是向您展示字节码的实际外观。你所说的班级是一个内部班级。这些类的构造函数会自动向外部类传递一个"this"引用,这样就可以从内部类中访问这个外部对象。这就是Soot给你看的。