package com.googlecode.dex2jar.ir.test; import com.googlecode.dex2jar.ir.expr.Local; import com.googlecode.dex2jar.ir.stmt.Stmt; import com.googlecode.dex2jar.ir.ts.RemoveLocalFromSSA; import org.junit.Assert; import org.junit.Test; import static com.googlecode.dex2jar.ir.expr.Exprs.nInt; import static com.googlecode.dex2jar.ir.stmt.Stmts.nAssign; import static com.googlecode.dex2jar.ir.stmt.Stmts.nReturn; public class RemoveLocalFromSSATest extends BaseTransformerTest<RemoveLocalFromSSA> { @Test public void t001() { Local a = addLocal("a"); Local b = addLocal("b"); Local c = addLocal("c"); Stmt sa = addStmt(nAssign(a, nInt(0))); addStmt(nAssign(b, a)); addStmt(nAssign(c, b)); Stmt sb = addStmt(nReturn(c)); transform(); Assert.assertEquals(sa.getOp1(), sb.getOp()); Assert.assertEquals("1 local should left", 1, locals.size()); } }