Skip to content

Commit acfc880

Browse files
committed
Set locals
1 parent adb9706 commit acfc880

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

jacodb-ets/src/test/kotlin/org/jacodb/ets/test/EtsCfgDslTest.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@ import org.jacodb.ets.dsl.param
2424
import org.jacodb.ets.dsl.program
2525
import org.jacodb.ets.dsl.toBlockCfg
2626
import org.jacodb.ets.dsl.toDot
27+
import org.jacodb.ets.model.EtsAssignStmt
2728
import org.jacodb.ets.model.EtsClassSignature
2829
import org.jacodb.ets.model.EtsFileSignature
30+
import org.jacodb.ets.model.EtsLocal
2931
import org.jacodb.ets.model.EtsMethodImpl
3032
import org.jacodb.ets.model.EtsMethodParameter
3133
import org.jacodb.ets.model.EtsMethodSignature
@@ -35,6 +37,8 @@ import org.jacodb.ets.utils.linearize
3537
import org.jacodb.ets.utils.toDot
3638
import org.jacodb.ets.utils.toEtsBlockCfg
3739
import org.junit.jupiter.api.Test
40+
import kotlin.test.assertContentEquals
41+
import kotlin.test.assertEquals
3842

3943
class EtsCfgDslTest {
4044
@Test
@@ -80,5 +84,14 @@ class EtsCfgDslTest {
8084
println("etsCfg:\n${etsCfg.toDot()}")
8185

8286
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

Comments
 (0)