| 787 | } |
| 788 | |
| 789 | async fn make( |
| 790 | &mut self, |
| 791 | d: Resource<Debuggee>, |
| 792 | tag: Resource<Tag>, |
| 793 | values: Vec<Resource<WasmValue>>, |
| 794 | ) -> Result<Resource<WasmException>> { |
| 795 | let tag_val = *self.get(&tag)?; |
| 796 | let mut wasm_values = vec![]; |
| 797 | for v in &values { |
| 798 | wasm_values.push(self.get(v)?.clone()); |
| 799 | } |
| 800 | let d = debugger(self, &d)?; |
| 801 | let owned = d.exnref_new(tag_val, wasm_values).await?; |
| 802 | Ok(self.push(WasmException(owned))?) |
| 803 | } |
| 804 | |
| 805 | async fn drop(&mut self, rep: Resource<WasmException>) -> Result<()> { |
| 806 | self.delete(rep)?; |