[Soot-list] Bad use of primitive type when performing transformations needed

Quentin Sabah quentin.sabah at inria.fr
Sun Jun 9 09:37:21 EDT 2013


> 
>     $i0 = virtualinvoke a.<java.lang.String: int length()>();
>     $i1 = 4 + $i0;
>     $r1 = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>($i1);
>     interfaceinvoke info.<java.util.List: boolean add(java.lang.Object)>($r1);
> 
> I used the same  way in creating my jimple in order to get the equivalent code that I want (in this example: info.add(4 + a.length());) but, I get the exception in [1] where 'j' (a local with RefType.v("int")) has the same role as $i0.

Why don't you just show us the actual jimple code leading to that exception? It looks like you have somewhere the following statements: 
	
	int j;
	...
	interfaceinvoke info.<java.util.List: boolean add(java.lang.Object)>(j);

Regards.

-- 
Quentin Sabah, CIFRE Ph.D. student
Grenoble University
INRIA-SARDES                   | STMicroelectronics/AST
Montbonnot, France             | Grenoble, France
mailto:quentin.sabah at inria.fr  | mailto:quentin.sabah at st.com
phone: +33 476 61 52 42        | phone: +33 476 58 44 14



More information about the Soot-list mailing list