diff --git a/src/protocol/eval/executor.rs b/src/protocol/eval/executor.rs index 610e58090392659f40c6b10c781a3d93fb55c371..c755413a0da76f4a30899939d3d1873eaaba0c39 100644 --- a/src/protocol/eval/executor.rs +++ b/src/protocol/eval/executor.rs @@ -206,7 +206,7 @@ pub enum EvalContinuation { BlockGet(ExpressionId, PortId), Put(ExpressionId, PortId, ValueGroup), SelectStart(u32, u32), // (num_cases, num_ports_total) - SelectRegisterPort(u32, u32, PortId), // (case_index, port_index_in_case, port_id) + SelectRegisterPort(ExpressionId, u32, u32, PortId), // (call_expr_id, case_index, port_index_in_case, port_id) SelectWait, // wait until select can continue // Returned only in non-sync mode ComponentTerminated, @@ -757,7 +757,7 @@ impl Prompt { let port_index = self.store.maybe_read_ref(&cur_frame.expr_values.pop_front().unwrap()).as_uint32(); let port_value = self.store.maybe_read_ref(&cur_frame.expr_values.pop_front().unwrap()).as_port_id(); - return Ok(EvalContinuation::SelectRegisterPort(case_index, port_index, port_value)); + return Ok(EvalContinuation::SelectRegisterPort(expr_id, case_index, port_index, port_value)); }, Method::SelectWait => { match ctx.performed_select_wait() {