public class ZeroTransformer extends StatedTransformer
a=0
if x>0 goto L1
L2: [b=phi(a,c)]
useAsObject(b);
c=getAnotherObject();
goto L2:
L1: [d=phi(a,e)]
useAsInt(d);
e=123
goto L1:
we transform the code to
a1=0
a=0
if x>0 goto L1
a2=0
L2: [b=phi(a1,c)]
useAsObject(b);
c=getAnotherObject();
goto L2:
L1: [d=phi(a,e)]
useAsInt(d);
e=123
goto L1:
| 构造器和说明 |
|---|
ZeroTransformer() |
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
transformReportChanged(IrMethod method) |
transformpublic boolean transformReportChanged(IrMethod method)
transformReportChanged 在类中 StatedTransformer