[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Soot API: VerifyError when using Chain.insertBefore() methods



Hi,

Actually DebugMsg is a Debugging class entirely unrelated to String. 
I can't figure out why it's being assigned to the String object. 
I don't assign it to the String object when I use the Soot API. 
Somehow that line gets mysteriously inserted when I insert the call to
the
static postcondition_v() method before the return statement.

Nathan

On Thu, 6 Sep 2001 17:20:46 -0400 (EDT) Patrick LAM
<plam@sable.mcgill.ca> writes:
> On Thu, 6 Sep 2001, nathan gulley wrote:
> 
> > I would appreciate any advice on what may be the cause of this 
> problem.
> > I have attatched the Jimple
> > code for this instrumented class also.
> 
> The code of the v() method looks fishy:
> 
>         r4 = "Hello";
>         staticinvoke <com.rtscinc.util.DebugMsg: void
>           print(java.lang.String)>(r4);
>         r5 = (com.rtscinc.util.DebugMsg) r4;
>         staticinvoke <test.LoadMe_Assertion: void
>           postcondition_v(java.lang.String,java.io.InputStream,
>           com.rtscinc.util.DebugMsg)>(r1, r2, r5);
> 
> So you're passing the postcondition_v method a String (r4 is a 
> String, and
> r5 is r4; if the method executed, you'd probably get a
> ClassCastException), not a DebugMsg.  I suppose that DebugMsg could 
> be a
> subclass of String.  Is it?
> 
> pat
> 
> 
>