File tree Expand file tree Collapse file tree 1 file changed +10
-1
lines changed
utbot-framework/src/main/kotlin/org/utbot/engine Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -2471,7 +2471,7 @@ class UtBotSymbolicEngine(
24712471 is JInterfaceInvokeExpr -> virtualAndInterfaceInvoke(invokeExpr.base, invokeExpr.methodRef, invokeExpr.args)
24722472 is JVirtualInvokeExpr -> virtualAndInterfaceInvoke(invokeExpr.base, invokeExpr.methodRef, invokeExpr.args)
24732473 is JSpecialInvokeExpr -> specialInvoke(invokeExpr)
2474- is JDynamicInvokeExpr -> TODO ( " $ invokeExpr" )
2474+ is JDynamicInvokeExpr -> dynamicInvoke( invokeExpr)
24752475 else -> error(" Unknown class ${invokeExpr::class } " )
24762476 }
24772477
@@ -2731,6 +2731,15 @@ class UtBotSymbolicEngine(
27312731 return commonInvokePart(invocation)
27322732 }
27332733
2734+ private fun dynamicInvoke (invokeExpr : JDynamicInvokeExpr ): List <MethodResult > {
2735+ workaround(HACK ) {
2736+ // The engine does not yet support JDynamicInvokeExpr, so switch to concrete execution if we encounter it
2737+ statesForConcreteExecution + = environment.state
2738+ queuedSymbolicStateUpdates + = UtFalse .asHardConstraint()
2739+ return emptyList()
2740+ }
2741+ }
2742+
27342743 /* *
27352744 * Runs common invocation part for object wrapper or object instance.
27362745 *
You can’t perform that action at this time.
0 commit comments