@@ -24,8 +24,10 @@ import org.jacodb.ets.dsl.param
2424import org.jacodb.ets.dsl.program
2525import org.jacodb.ets.dsl.toBlockCfg
2626import org.jacodb.ets.dsl.toDot
27+ import org.jacodb.ets.model.EtsAssignStmt
2728import org.jacodb.ets.model.EtsClassSignature
2829import org.jacodb.ets.model.EtsFileSignature
30+ import org.jacodb.ets.model.EtsLocal
2931import org.jacodb.ets.model.EtsMethodImpl
3032import org.jacodb.ets.model.EtsMethodParameter
3133import org.jacodb.ets.model.EtsMethodSignature
@@ -35,6 +37,8 @@ import org.jacodb.ets.utils.linearize
3537import org.jacodb.ets.utils.toDot
3638import org.jacodb.ets.utils.toEtsBlockCfg
3739import org.junit.jupiter.api.Test
40+ import kotlin.test.assertContentEquals
41+ import kotlin.test.assertEquals
3842
3943class EtsCfgDslTest {
4044 @Test
@@ -79,6 +83,15 @@ class EtsCfgDslTest {
7983 val etsCfg = etsBlockCfg.linearize()
8084 println (" etsCfg:\n ${etsCfg.toDot()} " )
8185
82- method._cfg = etsBlockCfg
86+ method.body.cfg = etsBlockCfg
87+ method.body.locals = etsBlockCfg.stmts
88+ .filterIsInstance<EtsAssignStmt >()
89+ .mapNotNull { it.lhv as ? EtsLocal }
90+ .distinct()
91+
92+ assertEquals(method.locals, listOf (
93+ EtsLocal (" i" , EtsUnknownType ),
94+ EtsLocal (" _tmp0" , EtsUnknownType ),
95+ ))
8396 }
8497}
0 commit comments