[Soot-list] Inner Class Detection Problem

Steven Arzt Steven.Arzt at cased.de
Mon Jul 27 05:35:41 EDT 2015


Hi Jason,

 

Please try to avoid using methods such as forceResolve(). As I said, these methods are internals of Soot. Without a very profound understanding of the Soot class loading process, you can run into all sorts of funny behaviors. Internal methods make assumptions about internal stuff. I will only look into this issue any further if it also occurs when using Soot properly – see my last e-mail about Transformers.

 

Best regards,

  Steven

 

Von: soot-list-bounces at CS.McGill.CA [mailto:soot-list-bounces at CS.McGill.CA] Im Auftrag von Jason Ott
Gesendet: Samstag, 25. Juli 2015 01:56
An: soot-list at cs.mcgill.ca
Betreff: [Soot-list] Inner Class Detection Problem

 

I have a class: com.android.server.power.PowerManagerService$BinderService <http://androidxref.com/5.1.1_r6/xref/frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java#2797>  which is an inner class.  However, Soot does not see it that way when I try to forceResolve it using: BODIES|HIERARCHY|SIGNATURES (or any combination of them).

 

When I use SootClass.hasOuterClass() on the above resolved class it returns false.

 

This is how I resolve the class:

protected synchronized SootClass bringClassToScene(String className) {
    SootClass sootClass;
    sootClass = Scene.v().forceResolve(className, SootClass.BODIES | SootClass.HIERARCHY | SootClass.SIGNATURES);
    sootClass.setApplicationClass();
    return sootClass;
}

So I then invoke:
SootClass sootClass = bringClassToScene("");
sootClass.hasOuterClass() //return false

I would expect it to return true in this case.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20150727/41b7a354/attachment.html 


More information about the Soot-list mailing list