I'm trying to interleave some behavior in the normal execution flow. For this I do something like
targetCtx := self findTargetContext. interleavedCtx := [ self doSomething ] asContext. interleavedCtx swapSender: (targetCtx swapSender: interleavedCtx). Basically this works pretty fine. Now I have the case that targetCtx returns a value that was assigned to a variable in the original code bar := self methodOfTheTargetCtx What is a good way to get the return value of targetCtx? I think there is an easy way but I didn't find it. Even my very hacky tries failed. I did a manual test by having interleavedCtx := [ | foo | foo := self dummySend … ] and setting the pc of the context just after the "send: dummySend" which is "popIntoTemp: 1". I thought at least that should bring the return value to foo but it didn't work. Maybe I'm doing just something stupid on the way. Some hints for enlightenment would be fine. thanks, Norbert