Thank you camille, I still don't fully understand, why it is so hard to make it work for all use cases. It looks like a simple thing, make a sourceNode for the current context!
So for me it looks like the main problem is to distinguish these cases: Create a SourceNode for a) Method or b) Block or c) MethodContext or d) BlockContext and at the moment we are mixing case c/d/b Thank you ben, for finding/looking at the failing tests. (I wished we would have an improved debugger, showing sourcecode, AST, IR and bytecode linked together :-) 2014-02-13 16:27 GMT+01:00 Camille Teruel <[email protected]>: > Hi Nicolai, > > I opened the issue 12875 and committed a fix. > Can you look at it? > > > On 11 févr. 2014, at 11:54, Nicolai Hess <[email protected]> wrote: > > > Ben, Camille, can you take a look at this code > > |a b| > > a:='String'. > > b:='t'. > > a collectWithIndex:[:c :i | c < b] > > > > Debug this code and step over until you reach the > > collectWithIndex: method, the context inspector will show > > a,b,c,i even though only a and b are in the current scope. > > And it'll show the wrong values > > a->'String' > > b->'String' > > c->'String' > > i->'t' > > > > (This does not happen with old compiler and it does not > > happen in 307052) > >
