[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Inference of static types
"Lipsky, Nikita" wrote:
> Here the sample:
>
> <<test2.class>>
Hi Nikita,
I ran your test through Soot 1.2.2, and got the result attached to this
message.
Everything seems fine. Read my next message for explanation.
Etienne
--
----------------------------------------------------------------------
Etienne M. Gagnon, M.Sc. e-mail: egagnon@j-meg.com
Author of SableCC: http://www.sablecc.org/
and SableVM: http://www.sablevm.org/
public class test2 extends java.lang.Object
{
static boolean flag;
public void <init>()
{
test2 r0;
r0 := @this: test2;
specialinvoke r0.<java.lang.Object: void <init>()>();
return;
}
public static void use(java.lang.Integer)
{
java.lang.Integer r0;
r0 := @parameter0: java.lang.Integer;
return;
}
public static void main(java.lang.String[])
{
java.lang.String[] r0;
boolean $z0;
java.lang.Boolean r1, r3;
java.io.PrintStream $r2;
java.lang.Integer r4;
r0 := @parameter0: java.lang.String[];
$z0 = <test2: boolean flag>;
if $z0 == 0 goto label0;
r1 = null;
r4 = (java.lang.Integer) r1;
staticinvoke <test2: void use(java.lang.Integer)>(r4);
goto label1;
label0:
r3 = new java.lang.Boolean;
specialinvoke r3.<java.lang.Boolean: void <init>(boolean)>(1);
r1 = r3;
label1:
$r2 = <java.lang.System: java.io.PrintStream out>;
virtualinvoke $r2.<java.io.PrintStream: void println(java.lang.Object)>(r1);
return;
}
static void <clinit>()
{
<test2: boolean flag> = 1;
return;
}
}