soot-1

来源:互联网 发布:51单片机flash多大 编辑:程序博客网 时间:2024/05/29 08:26


使用"-allow-phantom-refs"选项时,soot允许class和method没有定义。

1. 找不到class的定义。class仅仅作为type。

         soot处理:class仅作为type使用。

2. 有class的定义,但其中某些method没有定义。——该方法为super class的方法,本class直接继承使用。

   soot处理:getMethod()方法会调用createUnresolvedErrorMethod(),为该方法创建body(抛出异常)。

       (例如,body.validate()或者遍历其他method中的units,调用getMethod()方法时,就会触发对startProcessLocked()的调用。)


对于第二种情况,soot的处理是错误的。用soot进行代码生成时,会产生错误的代码。








原创粉丝点击