@@ -12,6 +12,7 @@ import org.usvm.api.allocateStaticRef
1212import org.usvm.api.evalTypeEquals
1313import org.usvm.api.targets.JcTarget
1414import org.usvm.api.typeStreamOf
15+ import org.usvm.forkblacklists.UForkBlackList
1516import org.usvm.jvm.JcApplicationBlockGraph
1617import org.usvm.machine.*
1718import org.usvm.machine.interpreter.JcExprResolver
@@ -31,6 +32,7 @@ import org.usvm.util.write
3132class JcBlockInterpreter (
3233 private val ctx : JcContext ,
3334 private val applicationGraph : JcApplicationBlockGraph ,
35+ var forkBlackList : UForkBlackList <JcState , JcInst > = UForkBlackList .createDefault(),
3436) : UInterpreter<JcState>() {
3537
3638 companion object {
@@ -67,7 +69,7 @@ class JcBlockInterpreter(
6769 }
6870 }
6971
70- val solver = ctx.solver<JcType , JcContext >()
72+ val solver = ctx.solver<JcType >()
7173
7274 val model = (solver.checkWithSoftConstraints(state.pathConstraints) as USatResult ).model
7375 state.models = listOf (model)
@@ -82,7 +84,7 @@ class JcBlockInterpreter(
8284
8385 logger.debug(" Step: {}" , stmt)
8486
85- val scope = StepScope (state)
87+ val scope = StepScope (state, forkBlackList )
8688
8789 // handle exception firstly
8890 val result = state.methodResult
0 commit comments