[Soot-list] Soot changes method signature after de-compilation from jimple to java

Marc-André Laverdière marc-andre.laverdiere-papineau at polymtl.ca
Tue Apr 29 09:16:07 EDT 2014


Hi Souvik,

First, Soot 2.3 is really really old. Have you given thought to
upgrading to 2.5? Or even better, the cutting-edge development branch?

Second, I don't understand what you are asking for... what do you mean
by 'original signature of the API'?

Marc-André Laverdière-Papineau
Doctorant - PhD Candidate

On 04/29/2014 06:43 AM, Souvik Pal wrote:
> Hi all,
> 
> I am new to soot. I am using soot (soot 2.3) to analyze simple Hibernate
> programs. 
> 
> Hibernate *session.get* API requires a *java.lang.Class* and
> *java.io.Serializable* type arguments. However when I am de-compiling
> the Jimple expressions into java, the API signature changes and
> Hibernate can not recognize it.
> 
> Example.
> 
> *User aUser = (User) session.get(User.class, 1);*
> get transformed to in the de-compiled program. 
> *aUser = (User) session.get(class
> "path/to/class/User", Integer.valueOf(1));*
> 
> The intermediate Jimple statements are 
> 
> *$r1 = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(1)
> *
> *$r2 = interfaceinvoke session.<org.hibernate.Session: java.lang.Object
> get(java.lang.Class,java.io.Serializable)>(class
> "**path/to/class/User**", $r1)*
> 
> 
> Please let me know what should I do to keep the original signature of
> the API.
> 
> Thanks and regards,
> 
> -- 
> *Souvik Pal*
> 
> 
> _______________________________________________
> Soot-list mailing list
> Soot-list at CS.McGill.CA
> https://mailman.CS.McGill.CA/mailman/listinfo/soot-list
> 


More information about the Soot-list mailing list