[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Linenumber bug?
On Sun, Sep 07, 2003 at 06:43:21PM +0100, Eric Bodden wrote:
> Hi!
>
> Attached you find three test classes and a jimple produced with SOOT 2.0.1
> of class C.
> The interesting part of this jimple is the following:
>
> specialinvoke $r5.<C: void <init>()>();
> 25
>
> According to that, this invoke statement occurs in line 25, which is correct
> in my eyes.
> But when I now retrieve this tag using Edge.srcStmt().getTags() from a call
> graph (one of the nasty incomplete ones), I find 20 attached, rather than
> 21, which is a bit odd if you take into account that this is firstly just
> wrong but secondly 21 does not even occur at all in the Jimple output.
> But I realized already in earlier versions that line numbers returned by
> SOOT were for some reasons 1 too high.
> So are you doing some aggregation while building the call graph that could
> screw that up?
No, the call graph building doesn't do any aggregation or any other
modification of the Jimple. It also doesn't build any new Jimple
statements: the result of Edge.srcStmt() is always just a pointer to
some statement that already existed in the Jimple body. I wonder if
perhaps you're looking at a different Edge than you think. You may find
it helpful in debugging this to print out the Edge that you're looking
it to see exactly which statement it has as its srcStmt().
Ondrej
>
> Thank you very much,
> Eric