[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Inference of static types
> NO, it will NOT!!! Stage 1 will ***FAIL***. Please use a debugger, or
> any tool you like, and simply trace Soot's typing algorithm, and you'll
> see. Or if you insist, simply take a pencil, and draw little nodes and
> directed edges and apply the algorithm. You'll see that stage 1 fails.
> Here's a simplified view:
>
> [1] T(b) <= Boolean
> [2] T(b) <= T(null)
> [3] Integer <= T(b)
> [4] Object <= T(b)
>
> The removal of transitive constraints eliminates [2] and [4]. So we are
> left with [1] and [3].
>
Oh, I missed that we have Boolean<=T(null) and Object<=Integer constraints
for hard nodes, :))
> So, in other words, the algorithm works well. You just have to
> carefully handle Jimple type casts if you want to go back to Java source
> code.
Yes, algorithm works well. However I'd like to improve it and publish
results if you do not mind, :)).
Thanks a lot for your answers,
sincerely,
Nikita