[Soot-list] Jimple TypeResolver bug
Patrick Lam
plam at sable.mcgill.ca
Fri Jun 3 15:58:39 EDT 2011
On 02/06/11 04:57 AM, Heejong Lee wrote:
> Hi,
>
> I've got a bug of jimple transformation like following:
>
> BufferedReader in = new BufferedReader(new InputStreamReader(new
> FileInputStream(queueFile)));
>>>>>>
> 181 tmp = new java.io.BufferedReader;
> 182 tmp = new java.io.InputStreamReader;
> 183 tmp = new java.io.FileInputStream;
> 184 specialinvoke tmp.<java.io.FileInputStream: void
> <init>(java.io.File)>(queueFile);
> 185 specialinvoke tmp.<java.io.InputStreamReader: void
> <init>(java.io.InputStream)>(tmp);
> 186 specialinvoke tmp.<java.io.BufferedReader: void
> <init>(java.io.Reader)>(tmp);
>
> This IL is obviously incorrect. When I replace
> soot.jimple.toolkits.typing.fast.TypeResolver.split_new()
> with an empty method, the correct output is generated:
Note that, to my knowledge, the subsequent code generation doesn't use
the Jimple names for anything; it's just wrong to look at, but it's not
supposed to be wrong in terms of generating code.
Nevertheless, I do think that we can have a counter and use it for the
variable names.
pat
More information about the Soot-list
mailing list