So with apparently removing the fifth line of MethodContext>>#sourceNode solves
the problem, i.e by replacing:
sourceNode
| activePC |
activePC := pc
ifNil: [ self startpc + 1]
ifNotNil: [pc - 1].
activePC <= self startpc ifTrue: [ activePC := pc ].
^(method sourceNodeForPC: activePC) methodOrBlockNode
with:
sourceNode
| activePC |
activePC := pc
ifNil: [ self startpc + 1]
ifNotNil: [pc - 1].
^(method sourceNodeForPC: activePC) methodOrBlockNode
But I don't know of its correct, need an expert review :)
On 26 janv. 2014, at 10:07, Camille Teruel <[email protected]> wrote:
> [ [ ] ]
> prints:
> [ ]
> instead of:
> [ [ ] ]
>
> and
> [ :arg | [ arg ] ]
> prints:
> DoIt
> ^ [ :arg | [ arg ] ] yourself
> instead of:
> [ :arg | [ arg ] ]
>
>
> Apparently it's the print that is not correct because of problem in
> #sourceNode.
> Any clue? Marcus? Clément?