Shouldn't Parser Encoder & co just raise Error and Warning, and let
the upper level handle these (or not) ?
Expert driver methods would install ad-hoc handlers actions (like
inserting an error message in source controller, or opening a
Debugger, or. a SyntaxErrror window, or...)

Nicolas

2009/12/21 Bart Gauquie <[email protected]>:
> Hi,
>
> First load the latest http://www.squeaksource.com/MorphicsRecordNPlay
> package.
> Then for instance following fails if I evaluate it in a workspace:
> MorphicReplayDemoTest compile:
> 'testMethod
> self addMMEFrom: 1...@512 to: 1...@504.
> self addMMEFrom: 1...@504 to: 9...@482.
> self addMMEFrom: 9...@482 to: 9...@464.
> self addMMEFrom: 9...@464 to: 8...@462.
> self addMMEFrom: 8...@462 to: 7...@482.
> self addMMEFrom: 7...@482 to: 6...@520.
> self addMMEFrom: 6...@520 to: 6...@559.
> self addMMEFrom: 6...@559 to: 6...@579.
> self addMMEFrom: 6...@579 to: 6...@579.
> self addMMEFrom: 6...@579 to: 6...@564.
> self addMMEFrom: 6...@564 to: 8...@452.
> self addMMEFrom: 8...@452 to: 9...@353.
> self addMMEFrom: 9...@353 to: 1...@287.
> self addMMEFrom: 1...@287 to: 1...@257.
> self addMMEFrom: 1...@257 to: 1...@252.
> self addMMEFrom: 1...@252 to: 1...@259.
> self addMMEFrom: 1...@259 to: 9...@314.
> self addMMEFrom: 9...@314 to: 8...@414.
> self addMMEFrom: 8...@414 to: 8...@502.
> self addMMEFrom: 8...@502 to: 7...@570.
> self addMMEFrom: 7...@570 to: 7...@610.
> self addMMEFrom: 7...@610 to: 8...@630.
> self addMMEFrom: 8...@630 to: 9...@620.
> self addMMEFrom: 9...@620 to: 1...@579.
> self addMMEFrom: 1...@579 to: 1...@549.
> self addMMEFrom: 1...@549 to: 1...@447.
> self addMMEFrom: 1...@447 to: 1...@379.
> self addMMEFrom: 1...@379 to: 1...@377.
> self addMMEFrom: 1...@377 to: 9...@416.
> self addMMEFrom: 9...@416 to: 8...@446.
> self addMMEFrom: 8...@446 to: 7...@530.
> self addMMEFrom: 7...@530 to: 7...@548.
> self addMMEFrom: 7...@548 to: 7...@546.
> self addMMEFrom: 7...@546 to: 8...@515.
> self addMMEFrom: 8...@515 to: 8...@491.
> self addMMEFrom: 8...@491 to: 1...@407.
> self addMMEFrom: 1...@407 to: 1...@361.
> self addMMEFrom: 1...@361 to: 1...@343.
> self addMMEFrom: 1...@343 to: 1...@340.
> self addMMEFrom: 1...@340 to: 1...@349.
> self addMMEFrom: 1...@349 to: 8...@416.
> self addMMEFrom: 8...@416 to: 7...@471.
> self addMMEFrom: 7...@471 to: 7...@511.
> self addMMEFrom: 7...@511 to: 7...@524.
> self addMMEFrom: 7...@524 to: 7...@528.
> self addMMEFrom: 7...@528 to: 8...@509.
> self addMMEFrom: 8...@509 to: 9...@493.
> self addMMEFrom: 9...@493 to: 1...@446.
> self addMMEFrom: 1...@446 to: 1...@427.
> self addMMEFrom: 1...@427 to: 1...@423.
> self addMMEFrom: 1...@423 to: 1...@422.
> self addMMEFrom: 1...@422 to: 1...@424.
> self addMMEFrom: 1...@424 to: 9...@449.
> self addMMEFrom: 9...@449 to: 7...@479.
> self addMMEFrom: 7...@479 to: 6...@503.
> self addMMEFrom: 6...@503 to: 6...@512.
> self addMMEFrom: 6...@512 to: 6...@512.
> self addMMEFrom: 6...@512 to: 6...@508.
> self addMMEFrom: 6...@508 to: 7...@492.
> self addMMEFrom: 7...@492 to: 9...@486.
> self addMMEFrom: 9...@486 to: 1...@494.
> self addMMEFrom: 1...@494 to: 1...@508.
> self addMMEFrom: 1...@508 to: 1...@514.
> self addMMEFrom: 1...@514 to: 1...@514.
> self addMMEFrom: 1...@514 to: 1...@492.
> self addMMEFrom: 1...@492 to: 9...@483.
> self addMMEFrom: 9...@483 to: 8...@498.
> self addMMEFrom: 8...@498 to: 6...@519.
> self addMMEFrom: 6...@519 to: 6...@523.
> self addMMEFrom: 6...@523 to: 6...@502.
> self addMMEFrom: 6...@502 to: 6...@442.
> self addMMEFrom: 6...@442 to: 7...@365.
> self addMMEFrom: 7...@365 to: 9...@316.
> self addMMEFrom: 9...@316 to: 1...@318.
> self addMMEFrom: 1...@318 to: 1...@360.
> self addMMEFrom: 1...@360 to: 1...@403.
> self addMMEFrom: 1...@403 to: 1...@443.
> self addMMEFrom: 1...@443 to: 1...@491.
> self addMMEFrom: 1...@491 to: 8...@536.
> self addMMEFrom: 8...@536 to: 6...@571.
> self addMMEFrom: 6...@571 to: 6...@578.
> self addMMEFrom: 6...@578 to: 5...@545.
> self addMMEFrom: 5...@545 to: 6...@485.
> self addMMEFrom: 6...@485 to: 7...@419.
> self addMMEFrom: 7...@419 to: 8...@383.
> self addMMEFrom: 8...@383 to: 9...@383.
> self addMMEFrom: 9...@383 to: 1...@425.
> self addMMEFrom: 1...@425 to: 1...@443.
> self addMMEFrom: 1...@443 to: 1...@449.
> self addMMEFrom: 1...@449 to: 9...@468.
> self addMMEFrom: 9...@468 to: 8...@509.
> self addMMEFrom: 8...@509 to: 7...@547.
> self addMMEFrom: 7...@547 to: 6...@555.
> self addMMEFrom: 6...@555 to: 6...@531.
> self addMMEFrom: 6...@531 to: 6...@468.
> self addMMEFrom: 6...@468 to: 8...@407.
> self addMMEFrom: 8...@407 to: 9...@380.
> self addMMEFrom: 9...@380 to: 1...@378.
> self addMMEFrom: 1...@378 to: 1...@393.
> self addMMEFrom: 1...@393 to: 1...@393.
> self addMMEFrom: 1...@393 to: 1...@388.
> self addMMEFrom: 1...@388 to: 8...@402.
> self addMMEFrom: 8...@402 to: 7...@433.
> self addMMEFrom: 7...@433 to: 6...@454.
> self addMMEFrom: 6...@454 to: 6...@461.
> self addMMEFrom: 6...@461 to: 6...@469.
> self addMMEFrom: 6...@469 to: 8...@492.
> self addMMEFrom: 8...@492 to: 9...@495.
> self addMMEFrom: 9...@495 to: 1...@476.
> self addMMEFrom: 1...@476 to: 1...@433.
> self addMMEFrom: 1...@433 to: 1...@404.
> self addMMEFrom: 1...@404 to: 1...@307.
> self addMMEFrom: 1...@307 to: 1...@294.
> self addMMEFrom: 1...@294 to: 9...@324.
> self addMMEFrom: 9...@324 to: 9...@357.
> self addMMEFrom: 9...@357 to: 9...@366.
> self addMMEFrom: 9...@366 to: 9...@370.
> self addMMEFrom: 9...@370 to: 9...@379.
> self addMMEFrom: 9...@379 to: 9...@389.
> self addMMEFrom: 9...@389 to: 1...@399.
> self addMMEFrom: 1...@399 to: 1...@408.
> self addMMEFrom: 1...@408 to: 1...@414.
> self addMMEFrom: 1...@414 to: 1...@416.
> self addMMEFrom: 1...@416 to: 1...@418.
> self addMMEFrom: 1...@418 to: 1...@419.
> self addMMEFrom: 1...@419 to: 1...@418.
> self addMMEFrom: 1...@418 to: 1...@414.
> self addMMEFrom: 1...@414 to: 1...@411.
> self addMMEFrom: 1...@411 to: 1...@404.
> self addMMEFrom: 1...@404 to: 1...@404.
> self addMMEFrom: 1...@404 to: 1...@406.
> self addMMEFrom: 1...@406 to: 1...@407.
> self addMMEFrom: 1...@407 to: 1...@408.
> self addMMEFrom: 1...@408 to: 1...@409.
> self addMMEFrom: 1...@409 to: 1...@410.
> self addMMEFrom: 1...@410 to: 1...@411.
> self addMMEFrom: 1...@411 to: 1...@412.
> self addMMEFrom: 1...@412 to: 1...@411.
> self addMMEFrom: 1...@411 to: 1...@409.
> self addMMEFrom: 1...@409 to: 1...@408.
> self addMMEFrom: 1...@408 to: 1...@407.
> self addMMEFrom: 1...@407 to: 1...@408.
> self addMMEFrom: 1...@408 to: 1...@408.
> self addMMEFrom: 1...@408 to: 1...@407.
> MouseButtonEvent new.
> MouseButtonEvent new.
> self addMMEFrom: 1...@401 to: 1...@403.
> self addMMEFrom: 1...@403 to: 1...@408.
> self addMMEFrom: 1...@408 to: 1...@416.
> self addMMEFrom: 1...@416 to: 1...@426.
> self addMMEFrom: 1...@426 to: 1...@443.
> self addMMEFrom: 1...@443 to: 1...@470.
> self addMMEFrom: 1...@470 to: 9...@504.
> self addMMEFrom: 9...@504 to: 9...@546.
> self addMMEFrom: 9...@546 to: 9...@592.
> self addMMEFrom: 9...@592 to: 9...@634.
> self addMMEFrom: 9...@634 to: 1...@665.
> self addMMEFrom: 1...@665 to: 1...@680.
> self addMMEFrom: 1...@680 to: 1...@677.
> self addMMEFrom: 1...@677 to: 1...@658.
> self addMMEFrom: 1...@658 to: 1...@626.
> self addMMEFrom: 1...@626 to: 1...@606.
> self addMMEFrom: 1...@606 to: 1...@543.
> self addMMEFrom: 1...@543 to: 1...@504.
> self addMMEFrom: 1...@504 to: 1...@464.
> self addMMEFrom: 1...@464 to: 1...@425.
> self addMMEFrom: 1...@425 to: 1...@409.
> self addMMEFrom: 1...@409 to: 1...@387.
> self addMMEFrom: 1...@387 to: 1...@397.
> self addMMEFrom: 1...@397 to: 1...@424.
> self addMMEFrom: 1...@424 to: 1...@464.
> self addMMEFrom: 1...@464 to: 9...@513.
> self addMMEFrom: 9...@513 to: 9...@565.
> self addMMEFrom: 9...@565 to: 9...@614.
> self addMMEFrom: 9...@614 to: 9...@656.
> self addMMEFrom: 9...@656 to: 1...@689.
> self addMMEFrom: 1...@689 to: 1...@709.
> self addMMEFrom: 1...@709 to: 1...@714.
> self addMMEFrom: 1...@714 to: 1...@710.
> self addMMEFrom: 1...@710 to: 1...@673.
> self addMMEFrom: 1...@673 to: 1...@635.
> self addMMEFrom: 1...@635 to: 1...@594.
> self addMMEFrom: 1...@594 to: 1...@552.
> self addMMEFrom: 1...@552 to: 1...@530.
> self addMMEFrom: 1...@530 to: 1...@459.
> self addMMEFrom: 1...@459 to: 1...@418.
> self addMMEFrom: 1...@418 to: 1...@389.
> self addMMEFrom: 1...@389 to: 1...@377.
> self addMMEFrom: 1...@377 to: 1...@379.
> self addMMEFrom: 1...@379 to: 1...@397.
> self addMMEFrom: 1...@397 to: 1...@410.
> self addMMEFrom: 1...@410 to: 9...@460.
> self addMMEFrom: 9...@460 to: 9...@499.
> self addMMEFrom: 9...@499 to: 9...@541.
> self addMMEFrom: 9...@541 to: 9...@580.
> self addMMEFrom: 9...@580 to: 9...@597.
> self addMMEFrom: 9...@597 to: 9...@639.
> self addMMEFrom: 9...@639 to: 1...@657.
> self addMMEFrom: 1...@657 to: 1...@666.
> self addMMEFrom: 1...@666 to: 1...@665.
> self addMMEFrom: 1...@665 to: 1...@651.
> self addMMEFrom: 1...@651 to: 1...@625.
> self addMMEFrom: 1...@625 to: 1...@596.
> self addMMEFrom: 1...@596 to: 1...@565.
> self addMMEFrom: 1...@565 to: 1...@528.
> self addMMEFrom: 1...@528 to: 1...@486.
> self addMMEFrom: 1...@486 to: 1...@445.
> self addMMEFrom: 1...@445 to: 1...@412.
> self addMMEFrom: 1...@412 to: 1...@390.
> self addMMEFrom: 1...@390 to: 1...@383.
> self addMMEFrom: 1...@383 to: 1...@394.
> self addMMEFrom: 1...@394 to: 1...@420.
> self addMMEFrom: 1...@420 to: 1...@438.
> self addMMEFrom: 1...@438 to: 9...@506.
> self addMMEFrom: 9...@506 to: 9...@555.
> self addMMEFrom: 9...@555 to: 9...@596.
> self addMMEFrom: 9...@596 to: 1...@629.
> self addMMEFrom: 1...@629 to: 1...@641.
> self addMMEFrom: 1...@641 to: 1...@658.
> self addMMEFrom: 1...@658 to: 1...@655.
> self addMMEFrom: 1...@655 to: 1...@640.
> self addMMEFrom: 1...@640 to: 1...@616.
> self addMMEFrom: 1...@616 to: 1...@589.
> self addMMEFrom: 1...@589 to: 1...@555.
> self addMMEFrom: 1...@555 to: 1...@518.
> self addMMEFrom: 1...@518 to: 1...@474.
> self addMMEFrom: 1...@474 to: 1...@430.
> self addMMEFrom: 1...@430 to: 1...@392.
> self addMMEFrom: 1...@392 to: 1...@370.
> self addMMEFrom: 1...@370 to: 1...@366.
> self addMMEFrom: 1...@366 to: 1...@375.
> self addMMEFrom: 1...@375 to: 1...@397.
> self addMMEFrom: 1...@397 to: 1...@429.
> self addMMEFrom: 1...@429 to: 1...@468.
> self addMMEFrom: 1...@468 to: 1...@489.
> self addMMEFrom: 1...@489 to: 1...@545.
> self addMMEFrom: 1...@545 to: 1...@567.
> self addMMEFrom: 1...@567 to: 1...@590.
> self addMMEFrom: 1...@590 to: 1...@603.
> self addMMEFrom: 1...@603 to: 1...@605.
> self addMMEFrom: 1...@605 to: 1...@593.
> self addMMEFrom: 1...@593 to: 1...@571.
> self addMMEFrom: 1...@571 to: 1...@543.
> self addMMEFrom: 1...@543 to: 1...@509.
> self addMMEFrom: 1...@509 to: 1...@466.
> self addMMEFrom: 1...@466 to: 1...@414.
> self addMMEFrom: 1...@414 to: 1...@390.
> self addMMEFrom: 1...@390 to: 1...@340.
> self addMMEFrom: 1...@340 to: 1...@334.
> self addMMEFrom: 1...@334 to: 1...@346.
> self addMMEFrom: 1...@346 to: 1...@373.
> self addMMEFrom: 1...@373 to: 1...@412.
> self addMMEFrom: 1...@412 to: 1...@457.
> self addMMEFrom: 1...@457 to: 1...@506.
> self addMMEFrom: 1...@506 to: 1...@557.
> self addMMEFrom: 1...@557 to: 1...@581.
> self addMMEFrom: 1...@581 to: 1...@637.
> self addMMEFrom: 1...@637 to: 1...@657.
> self addMMEFrom: 1...@657 to: 1...@660.
> self addMMEFrom: 1...@660 to: 1...@644.
> self addMMEFrom: 1...@644 to: 1...@630.
> self addMMEFrom: 1...@630 to: 1...@569.
> self addMMEFrom: 1...@569 to: 1...@521.
> self addMMEFrom: 1...@521 to: 1...@466.
> self addMMEFrom: 1...@466 to: 1...@410.
> self addMMEFrom: 1...@410 to: 1...@369.
> self addMMEFrom: 1...@369 to: 1...@347.
> self addMMEFrom: 1...@347 to: 1...@342.
> self addMMEFrom: 1...@342 to: 1...@346.
> self addMMEFrom: 1...@346 to: 1...@356.
> self addMMEFrom: 1...@356 to: 1...@363.
> self addMMEFrom: 1...@363 to: 1...@366.
> self addMMEFrom: 1...@366 to: 1...@366.
> self addMMEFrom: 1...@366 to: 1...@372.
> self addMMEFrom: 1...@372 to: 1...@381.
> self addMMEFrom: 1...@381 to: 1...@393.
> self addMMEFrom: 1...@393 to: 1...@399.
> self addMMEFrom: 1...@399 to: 1...@401.
> self addMMEFrom: 1...@401 to: 1...@401.
> self addMMEFrom: 1...@401 to: 1...@400.
> self addMMEFrom: 1...@400 to: 1...@401.
> self addMMEFrom: 1...@401 to: 1...@403.
> self addMMEFrom: 1...@403 to: 1...@404.
> self addMMEFrom: 1...@404 to: 1...@405.
> self addMMEFrom: 1...@405 to: 1...@404.
> MouseButtonEvent new.
> MouseButtonEvent new.
> '
>
> These are autogenerated contents I want to export as a test case. The
> strange thing is that, if I manually create the testMethod using the system
> browser, and paste the content in it; it works fine.
> Kind Regards,
> Bart
> 2009/12/21 Eliot Miranda <[email protected]>
>>
>> Hi Bart,
>>     I still want to take a look at this specific case because the compiler
>> should produce a proper error message, not an internal error.  So could you
>> please package it up as a reproducible case, or email me the full string
>> that fails?
>> TIA
>>
>> 2009/12/20 Bart Gauquie <[email protected]>
>>>
>>> Dear all,
>>>
>>> I'm developing code which generates a method content, compiles it and
>>> adds it to an existing class.
>>> I compile the message using #compile: message:
>>> for instance:
>>> MorphicReplayDemoTest compile: '
>>> testMethod
>>> self addMMEFrom: 1...@512 to: 1...@504.
>>> self addMMEFrom: 6...@559 to: 6...@579.
>>> '.
>>>
>>> This works fine. However if the contents of the method is too long; for
>>> instance:
>>> if the self addMMEFrom: 1...@512 to: 1...@504. is repeated around 250
>>> times; I get following error (see stack below)
>>> The strange thing is that if I manually add that method using the editor
>>> and paste it, it works just fine. I even tested up to 5000 lines of code;
>>> its slow, but its working.
>>> Any ideas how to solve this?
>>> Thanks,
>>> Bart
>>>
>>> I'm using Pharo 1.0 rc update: 10502; using Ubuntu 9.10, using vm
>>> pharo-vm-0.15.2f-linux.
>>> THERE_BE_DRAGONS_HERE
>>> MessageNotUnderstood: receiver of "<" is nil
>>> 20 December 2009 8:17:14 pm
>>>
>>> VM: unix - i686 - linux-gnu - Pharo0.1 of 16 May 2008 [latest update:
>>> #10074]
>>> Image: PharoCore1.0rc1 [Latest update: #10502]
>>>
>>> SecurityManager state:
>>> Restricted: false
>>> FileAccess: true
>>> SocketAccess: true
>>> Working Dir /home/gauquiebart/Smalltalk/Pharo/Images/Pharo 1.0 Playground
>>> Image
>>> Trusted Dir /home/gauquiebart/Smalltalk/Pharo/Images/Pharo 1.0 Playground
>>> Image/secure
>>> Untrusted Dir /home/gauquiebart/Smalltalk/Pharo/Images/Pharo 1.0
>>> Playground Image/My Squeak
>>>
>>> UndefinedObject(Object)>>doesNotUnderstand: #<
>>> Receiver: nil
>>> Arguments and temporary variables:
>>> aMessage: < 0
>>> exception: MessageNotUnderstood: receiver of "<" is nil
>>> resumeValue: nil
>>> Receiver's instance variables:
>>> nil
>>>
>>> EncoderForV3PlusClosures(EncoderForV3)>>genPushLiteral:
>>> Receiver: {an EncoderForV3PlusClosures}
>>> Arguments and temporary variables:
>>> literalIndex: nil
>>> Receiver's instance variables:
>>> comment: nil
>>> pc: nil
>>> scopeTable: a Dictionary('false'->{false} 'nil'->{nil}
>>> 'recording'->{recording}...etc...
>>> nTemps: 0
>>> supered: false
>>> requestor: nil
>>> class: MorphicReplayDemoTest
>>> selector: #testMethod
>>> literalStream: a WriteStream {#addMMEFrom:to:. 1054. 512. 1037. 504. 979.
>>> 482. ...etc...
>>> selectorSet: a Dictionary(#*->{*} #+->{+} #-->{-} #/->{/} #'//'->{//}
>>> #<->{<} #...etc...
>>> litIndSet: a
>>> Dictionary(#MouseButtonEvent->MouseButtonEvent->{MouseButtonEvent}...etc...
>>> litSet: a LiteralDictionary(size 402)
>>> sourceRanges: a Dictionary(size 853)
>>> globalSourceRanges: an OrderedCollection({'MouseButtonEvent'. (5763 to:
>>> 5778). ...etc...
>>> addedSelectorAndMethodClassLiterals: false
>>> stream: {an EncoderForV3PlusClosures}
>>> position: 0
>>> rootNode: testMethod
>>> self addMMEFrom: 1054 @ 512 to: 1037 @ 504.
>>> self addMMEF...etc...
>>> blockExtentsToLocals: nil
>>>
>>>
>>> EncoderForV3PlusClosures(BytecodeEncoder)>>sizeOpcodeSelector:withArguments:
>>> Receiver: {an EncoderForV3PlusClosures}
>>> Arguments and temporary variables:
>>> genSelector: #genPushLiteral:
>>> args: #(nil)
>>> Receiver's instance variables:
>>> comment: nil
>>> pc: nil
>>> scopeTable: a Dictionary('false'->{false} 'nil'->{nil}
>>> 'recording'->{recording}...etc...
>>> nTemps: 0
>>> supered: false
>>> requestor: nil
>>> class: MorphicReplayDemoTest
>>> selector: #testMethod
>>> literalStream: a WriteStream {#addMMEFrom:to:. 1054. 512. 1037. 504. 979.
>>> 482. ...etc...
>>> selectorSet: a Dictionary(#*->{*} #+->{+} #-->{-} #/->{/} #'//'->{//}
>>> #<->{<} #...etc...
>>> litIndSet: a
>>> Dictionary(#MouseButtonEvent->MouseButtonEvent->{MouseButtonEvent}...etc...
>>> litSet: a LiteralDictionary(size 402)
>>> sourceRanges: a Dictionary(size 853)
>>> globalSourceRanges: an OrderedCollection({'MouseButtonEvent'. (5763 to:
>>> 5778). ...etc...
>>> addedSelectorAndMethodClassLiterals: false
>>> stream: {an EncoderForV3PlusClosures}
>>> position: 0
>>> rootNode: testMethod
>>> self addMMEFrom: 1054 @ 512 to: 1037 @ 504.
>>> self addMMEF...etc...
>>> blockExtentsToLocals: nil
>>>
>>> EncoderForV3PlusClosures(BytecodeEncoder)>>sizePushLiteral:
>>> Receiver: {an EncoderForV3PlusClosures}
>>> Arguments and temporary variables:
>>> literalIndex: nil
>>> Receiver's instance variables:
>>> comment: nil
>>> pc: nil
>>> scopeTable: a Dictionary('false'->{false} 'nil'->{nil}
>>> 'recording'->{recording}...etc...
>>> nTemps: 0
>>> supered: false
>>> requestor: nil
>>> class: MorphicReplayDemoTest
>>> selector: #testMethod
>>> literalStream: a WriteStream {#addMMEFrom:to:. 1054. 512. 1037. 504. 979.
>>> 482. ...etc...
>>> selectorSet: a Dictionary(#*->{*} #+->{+} #-->{-} #/->{/} #'//'->{//}
>>> #<->{<} #...etc...
>>> litIndSet: a
>>> Dictionary(#MouseButtonEvent->MouseButtonEvent->{MouseButtonEvent}...etc...
>>> litSet: a LiteralDictionary(size 402)
>>> sourceRanges: a Dictionary(size 853)
>>> globalSourceRanges: an OrderedCollection({'MouseButtonEvent'. (5763 to:
>>> 5778). ...etc...
>>> addedSelectorAndMethodClassLiterals: false
>>> stream: {an EncoderForV3PlusClosures}
>>> position: 0
>>> rootNode: testMethod
>>> self addMMEFrom: 1054 @ 512 to: 1037 @ 504.
>>> self addMMEF...etc...
>>> blockExtentsToLocals: nil
>>>
>>> LiteralNode>>sizeCodeForValue:
>>> Receiver: {397}
>>> Arguments and temporary variables:
>>> encoder: {an EncoderForV3PlusClosures}
>>> Receiver's instance variables:
>>> comment: nil
>>> pc: nil
>>> key: 397
>>> code: -3
>>> index: nil
>>>
>>> [] in MessageNode>>sizeCodeForValue:
>>> Receiver: {1092 @ 397}
>>> Arguments and temporary variables:
>>> <<error during printing>
>>> Receiver's instance variables:
>>> comment: nil
>>> pc: nil
>>> receiver: {1092}
>>> selector: {...@}
>>> precedence: 2
>>> special: 0
>>> arguments: #({397})
>>> sizes: #(nil)
>>> equalNode: nil
>>> caseErrorNode: nil
>>>
>>> Array(SequenceableCollection)>>collect:
>>> Receiver: #({397})
>>> Arguments and temporary variables:
>>> aBlock: [closure] in MessageNode>>sizeCodeForValue:
>>> newCollection: #(nil)
>>> index: 1
>>> indexLimiT: 1
>>> Receiver's instance variables:
>>> #({397})
>>>
>>> MessageNode>>sizeCodeForValue:
>>> Receiver: {1092 @ 397}
>>> Arguments and temporary variables:
>>> <<error during printing>
>>> Receiver's instance variables:
>>> comment: nil
>>> pc: nil
>>> receiver: {1092}
>>> selector: {...@}
>>> precedence: 2
>>> special: 0
>>> arguments: #({397})
>>> sizes: #(nil)
>>> equalNode: nil
>>> caseErrorNode: nil
>>>
>>> [] in MessageNode>>sizeCodeForValue:
>>> Receiver: {self addMMEFrom: 1140 @ 387 to: 1092 @ 397}
>>> Arguments and temporary variables:
>>> <<error during printing>
>>> Receiver's instance variables:
>>> comment: nil
>>> pc: nil
>>> receiver: {self}
>>> selector: {addMMEFrom:to:}
>>> precedence: 3
>>> special: 0
>>> arguments: an OrderedCollection({1140 @ 387} {1092 @ 397})
>>> sizes: #(nil nil)
>>> equalNode: nil
>>> caseErrorNode: nil
>>>
>>> OrderedCollection>>collect:
>>> Receiver: an OrderedCollection({1140 @ 387} {1092 @ 397})
>>> Arguments and temporary variables:
>>> aBlock: [closure] in MessageNode>>sizeCodeForValue:
>>> newCollection: an OrderedCollection(7)
>>> index: 4
>>> Receiver's instance variables:
>>> array: an Array(nil nil {1140 @ 387} {1092 @ 397} nil nil nil nil nil
>>> nil)
>>> firstIndex: 3
>>> lastIndex: 4
>>>
>>> MessageNode>>sizeCodeForValue:
>>> Receiver: {self addMMEFrom: 1140 @ 387 to: 1092 @ 397}
>>> Arguments and temporary variables:
>>> <<error during printing>
>>> Receiver's instance variables:
>>> comment: nil
>>> pc: nil
>>> receiver: {self}
>>> selector: {addMMEFrom:to:}
>>> precedence: 3
>>> special: 0
>>> arguments: an OrderedCollection({1140 @ 387} {1092 @ 397})
>>> sizes: #(nil nil)
>>> equalNode: nil
>>> caseErrorNode: nil
>>>
>>> MessageNode(ParseNode)>>sizeCodeForEffect:
>>> Receiver: {self addMMEFrom: 1140 @ 387 to: 1092 @ 397}
>>> Arguments and temporary variables:
>>> encoder: {an EncoderForV3PlusClosures}
>>> Receiver's instance variables:
>>> comment: nil
>>> pc: nil
>>> receiver: {self}
>>> selector: {addMMEFrom:to:}
>>> precedence: 3
>>> special: 0
>>> arguments: an OrderedCollection({1140 @ 387} {1092 @ 397})
>>> sizes: #(nil nil)
>>> equalNode: nil
>>> caseErrorNode: nil
>>>
>>> MessageNode>>sizeCodeForEffect:
>>> Receiver: {self addMMEFrom: 1140 @ 387 to: 1092 @ 397}
>>> Arguments and temporary variables:
>>> encoder: {an EncoderForV3PlusClosures}
>>> Receiver's instance variables:
>>> comment: nil
>>> pc: nil
>>> receiver: {self}
>>> selector: {addMMEFrom:to:}
>>> precedence: 3
>>> special: 0
>>> arguments: an OrderedCollection({1140 @ 387} {1092 @ 397})
>>> sizes: #(nil nil)
>>> equalNode: nil
>>> caseErrorNode: nil
>>>
>>> BlockNode>>sizeCodeExceptLast:
>>> Receiver: {[self addMMEFrom: 1054 @ 512 to: 1037 @ 504.
>>> self addMMEFrom: 1037 @ 504 to: 979 @ 482.
>>> ...etc...
>>> Arguments and temporary variables:
>>> encoder: {an EncoderForV3PlusClosures}
>>> codeSize: 2564
>>> i: 169
>>> statement: {self addMMEFrom: 1140 @ 387 to: 1092 @ 397}
>>> iLimiT: 287
>>> Receiver's instance variables:
>>> comment: nil
>>> pc: nil
>>> arguments: #()
>>> statements: an OrderedCollection({self addMMEFrom: 1054 @ 512 to: 1037 @
>>> 504} {...etc...
>>> returns: true
>>> nArgsNode: nil
>>> size: nil
>>> remoteCopyNode: nil
>>> temporaries: an OrderedCollection()
>>> optimized: false
>>> actualScopeIfOptimized: nil
>>> blockExtent: (0 to: 2)
>>> remoteTempNode: nil
>>> copiedValues: nil
>>> closureCreationNode: nil
>>> startOfLastStatement: 11519
>>>
>>> BlockNode>>sizeCodeForEvaluatedValue:
>>> Receiver: {[self addMMEFrom: 1054 @ 512 to: 1037 @ 504.
>>> self addMMEFrom: 1037 @ 504 to: 979 @ 482.
>>> ...etc...
>>> Arguments and temporary variables:
>>> encoder: {an EncoderForV3PlusClosures}
>>> Receiver's instance variables:
>>> comment: nil
>>> pc: nil
>>> arguments: #()
>>> statements: an OrderedCollection({self addMMEFrom: 1054 @ 512 to: 1037 @
>>> 504} {...etc...
>>> returns: true
>>> nArgsNode: nil
>>> size: nil
>>> remoteCopyNode: nil
>>> temporaries: an OrderedCollection()
>>> optimized: false
>>> actualScopeIfOptimized: nil
>>> blockExtent: (0 to: 2)
>>> remoteTempNode: nil
>>> copiedValues: nil
>>> closureCreationNode: nil
>>> startOfLastStatement: 11519
>>>
>>> BytecodeAgnosticMethodNode>>generate:
>>> Receiver: testMethod
>>> self addMMEFrom: 1054 @ 512 to: 1037 @ 504.
>>> self addMMEFrom: 1037 @ 504 to: 9...etc...
>>> Arguments and temporary variables:
>>> trailer: #(0 0 0 0)
>>> primErrNode: nil
>>> blkSize: nil
>>> nLits: nil
>>> literals: nil
>>> stack: nil
>>> method: nil
>>> locals: nil
>>> lit: nil
>>> Receiver's instance variables:
>>> comment: nil
>>> pc: nil
>>> selectorOrFalse: #testMethod
>>> precedence: 1
>>> arguments: #()
>>> block: {[self addMMEFrom: 1054 @ 512 to: 1037 @ 504.
>>> self addMMEFrom: 1037 @ 5...etc...
>>> primitive: 0
>>> encoder: {an EncoderForV3PlusClosures}
>>> temporaries: #()
>>> properties: an AdditionalMethodState
>>> sourceText: 'testMethod
>>> self addMMEFrom: 1...@512 to: 1...@504.
>>> self addMMEFr...etc...
>>> locationCounter: 3
>>> localsPool: an IdentitySet()
>>>
>>> CompiledMethodWithNode class>>generateMethodFromNode:trailer:
>>> Receiver: CompiledMethodWithNode
>>> Arguments and temporary variables:
>>> aMethodNode: testMethod
>>> self addMMEFrom: 1054 @ 512 to: 1037 @ 504.
>>> self addM...etc...
>>> bytes: #(0 0 0 0)
>>> Receiver's instance variables:
>>> superclass: Object
>>> methodDict: a MethodDictionary(#method->a CompiledMethod(650:
>>> CompiledMethodWit...etc...
>>> format: 134
>>> instanceVariables: #('node' 'method')
>>> organization: ('accessing' method node selector)
>>> ('private' method: node:)
>>>
>>> subclasses: nil
>>> name: #CompiledMethodWithNode
>>> classPool: nil
>>> sharedPools: nil
>>> environment: Smalltalk
>>> category: #'Compiler-Support'
>>> traitComposition: nil
>>> localSelectors: nil
>>>
>>> MorphicReplayDemoTest
>>> class(Behavior)>>compile:classified:notifying:trailer:ifFail:
>>> Receiver: MorphicReplayDemoTest
>>> Arguments and temporary variables:
>>> code: 'testMethod
>>> self addMMEFrom: 1...@512 to: 1...@504.
>>> self addMMEFrom: 10...etc...
>>> category: #'as yet unclassified'
>>> requestor: nil
>>> bytes: #(0 0 0 0)
>>> failBlock: [closure] in MorphicReplayDemoTest
>>> class(ClassDescription)>>compile:...etc...
>>> methodNode: testMethod
>>> self addMMEFrom: 1054 @ 512 to: 1037 @ 504.
>>> self addMM...etc...
>>> Receiver's instance variables:
>>> superclass: AbstractReplayTestCase
>>> methodDict: a MethodDictionary(#testMethod->a CompiledMethod(1191:
>>> MorphicRepla...etc...
>>> format: 134
>>> instanceVariables: nil
>>> organization: ('tests' testMethod)
>>>
>>> subclasses: nil
>>> name: #MorphicReplayDemoTest
>>> classPool: nil
>>> sharedPools: nil
>>> environment: Smalltalk
>>> category: #'MorphicsRecordNPlay-Model'
>>> traitComposition: nil
>>> localSelectors: nil
>>> history: a Dictionary(#errors->a Set() #failures->a Set() #passed->a
>>> Set(#testM...etc...
>>>
>>> MorphicReplayDemoTest
>>> class(ClassDescription)>>compile:classified:withStamp:notifying:logSource:
>>> Receiver: MorphicReplayDemoTest
>>> Arguments and temporary variables:
>>> text: 'testMethod
>>> self addMMEFrom: 1...@512 to: 1...@504.
>>> self addMMEFrom: 10...etc...
>>> category: #'as yet unclassified'
>>> changeStamp: 'BartGauquie 12/20/2009 20:17'
>>> requestor: nil
>>> logSource: true
>>> methodAndNode: nil
>>> Receiver's instance variables:
>>> superclass: AbstractReplayTestCase
>>> methodDict: a MethodDictionary(#testMethod->a CompiledMethod(1191:
>>> MorphicRepla...etc...
>>> format: 134
>>> instanceVariables: nil
>>> organization: ('tests' testMethod)
>>>
>>> subclasses: nil
>>> name: #MorphicReplayDemoTest
>>> classPool: nil
>>> sharedPools: nil
>>> environment: Smalltalk
>>> category: #'MorphicsRecordNPlay-Model'
>>> traitComposition: nil
>>> localSelectors: nil
>>> history: a Dictionary(#errors->a Set() #failures->a Set() #passed->a
>>> Set(#testM...etc...
>>>
>>> MorphicReplayDemoTest
>>> class(ClassDescription)>>compile:classified:withStamp:notifying:
>>> Receiver: MorphicReplayDemoTest
>>> Arguments and temporary variables:
>>> text: 'testMethod
>>> self addMMEFrom: 1...@512 to: 1...@504.
>>> self addMMEFrom: 10...etc...
>>> category: #'as yet unclassified'
>>> changeStamp: 'BartGauquie 12/20/2009 20:17'
>>> requestor: nil
>>> Receiver's instance variables:
>>> superclass: AbstractReplayTestCase
>>> methodDict: a MethodDictionary(#testMethod->a CompiledMethod(1191:
>>> MorphicRepla...etc...
>>> format: 134
>>> instanceVariables: nil
>>> organization: ('tests' testMethod)
>>>
>>> subclasses: nil
>>> name: #MorphicReplayDemoTest
>>> classPool: nil
>>> sharedPools: nil
>>> environment: Smalltalk
>>> category: #'MorphicsRecordNPlay-Model'
>>> traitComposition: nil
>>> localSelectors: nil
>>> history: a Dictionary(#errors->a Set() #failures->a Set() #passed->a
>>> Set(#testM...etc...
>>>
>>> MorphicReplayDemoTest
>>> class(ClassDescription)>>compile:classified:notifying:
>>> Receiver: MorphicReplayDemoTest
>>> Arguments and temporary variables:
>>> text: 'testMethod
>>> self addMMEFrom: 1...@512 to: 1...@504.
>>> self addMMEFrom: 10...etc...
>>> category: #'as yet unclassified'
>>> requestor: nil
>>> stamp: 'BartGauquie 12/20/2009 20:17'
>>> Receiver's instance variables:
>>> superclass: AbstractReplayTestCase
>>> methodDict: a MethodDictionary(#testMethod->a CompiledMethod(1191:
>>> MorphicRepla...etc...
>>> format: 134
>>> instanceVariables: nil
>>> organization: ('tests' testMethod)
>>>
>>> subclasses: nil
>>> name: #MorphicReplayDemoTest
>>> classPool: nil
>>> sharedPools: nil
>>> environment: Smalltalk
>>> category: #'MorphicsRecordNPlay-Model'
>>> traitComposition: nil
>>> localSelectors: nil
>>> history: a Dictionary(#errors->a Set() #failures->a Set() #passed->a
>>> Set(#testM...etc...
>>>
>>> MorphicReplayDemoTest class(ClassDescription)>>compile:notifying:
>>> Receiver: MorphicReplayDemoTest
>>> Arguments and temporary variables:
>>> code: 'testMethod
>>> self addMMEFrom: 1...@512 to: 1...@504.
>>> self addMMEFrom: 10...etc...
>>> requestor: nil
>>> Receiver's instance variables:
>>> superclass: AbstractReplayTestCase
>>> methodDict: a MethodDictionary(#testMethod->a CompiledMethod(1191:
>>> MorphicRepla...etc...
>>> format: 134
>>> instanceVariables: nil
>>> organization: ('tests' testMethod)
>>>
>>> subclasses: nil
>>> name: #MorphicReplayDemoTest
>>> classPool: nil
>>> sharedPools: nil
>>> environment: Smalltalk
>>> category: #'MorphicsRecordNPlay-Model'
>>> traitComposition: nil
>>> localSelectors: nil
>>> history: a Dictionary(#errors->a Set() #failures->a Set() #passed->a
>>> Set(#testM...etc...
>>>
>>> MorphicReplayDemoTest class(Behavior)>>compile:
>>> Receiver: MorphicReplayDemoTest
>>> Arguments and temporary variables:
>>> code: 'testMethod
>>> self addMMEFrom: 1...@512 to: 1...@504.
>>> self addMMEFrom: 10...etc...
>>> Receiver's instance variables:
>>> superclass: AbstractReplayTestCase
>>> methodDict: a MethodDictionary(#testMethod->a CompiledMethod(1191:
>>> MorphicRepla...etc...
>>> format: 134
>>> instanceVariables: nil
>>> organization: ('tests' testMethod)
>>>
>>> subclasses: nil
>>> name: #MorphicReplayDemoTest
>>> classPool: nil
>>> sharedPools: nil
>>> environment: Smalltalk
>>> category: #'MorphicsRecordNPlay-Model'
>>> traitComposition: nil
>>> localSelectors: nil
>>> history: a Dictionary(#errors->a Set() #failures->a Set() #passed->a
>>> Set(#testM...etc...
>>>
>>> ByteString>>DoIt
>>> Receiver: 'testMethod
>>> self addMMEFrom: 1...@512 to: 1...@504.
>>> self addMMEFrom: 1...@504 to: [email protected]...
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> 'testMethod
>>> self addMMEFrom: 1...@512 to: 1...@504.
>>> self addMMEFrom: 1...@504 to: [email protected]...
>>>
>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>> Receiver: a Compiler
>>> Arguments and temporary variables:
>>> textOrStream: a ReadWriteStream 'MorphicReplayDemoTest
>>> compile: self.'
>>> aContext: nil
>>> receiver: 'testMethod
>>> self addMMEFrom: 1...@512 to: 1...@504.
>>> self addMMEFrom...etc...
>>> aRequestor: a TextMorphEditor
>>> failBlock: [closure] in [] in
>>> TextMorphEditor(ParagraphEditor)>>evaluateSelecti...etc...
>>> logFlag: true
>>> methodNode: DoIt
>>> ^ MorphicReplayDemoTest compile: self
>>> method: a CompiledMethod(2378: ByteString>>DoIt)
>>> value: nil
>>> toLog: nil
>>> itsSelection: nil
>>> itsSelectionString: nil
>>> Receiver's instance variables:
>>> sourceStream: a ReadWriteStream 'MorphicReplayDemoTest
>>> compile: self.'
>>> requestor: a TextMorphEditor
>>> class: ByteString
>>> category: nil
>>> context: nil
>>> parser: a Parser
>>>
>>> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>> Receiver: a TextMorphEditor
>>> Arguments and temporary variables:
>>> rcvr: 'testMethod
>>> self addMMEFrom: 1...@512 to: 1...@504.
>>> self addMMEFrom: 10...etc...
>>> ctxt: nil
>>> Receiver's instance variables:
>>> model: a NewInspector
>>> paragraph: a MultiNewParagraph
>>> startBlock: a CharacterBlock with index 39 and rectangle 1...@16 corner:
>>> 1...@32
>>> ...etc...
>>> stopBlock: a CharacterBlock with index 1 and character $M and rectangle
>>> 0...@0 cor...etc...
>>> beginTypeInBlock: nil
>>> emphasisHere: an Array(a TextFontChange font: 2)
>>> initialText: a Text for 'MorphicReplayDemoTest
>>> compile: self
>>> '
>>> selectionShowing: false
>>> otherInterval: (38 to: 38)
>>> lastParentLocation: nil
>>> morph: a TextMorphForEditView(3730)
>>> oldInterval: nil
>>> pivotBlock: nil
>>>
>>> BlockClosure>>on:do:
>>> Receiver: [closure] in
>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>> Arguments and temporary variables:
>>> exception: OutOfScopeNotification
>>> handlerAction: [closure] in
>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection...etc...
>>> handlerActive: true
>>> Receiver's instance variables:
>>> outerContext: TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>> startpc: 116
>>> numArgs: 0
>>>
>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>> Receiver: a TextMorphEditor
>>> Arguments and temporary variables:
>>> result: nil
>>> rcvr: 'testMethod
>>> self addMMEFrom: 1...@512 to: 1...@504.
>>> self addMMEFrom: 10...etc...
>>> ctxt: nil
>>> Receiver's instance variables:
>>> model: a NewInspector
>>> paragraph: a MultiNewParagraph
>>> startBlock: a CharacterBlock with index 39 and rectangle 1...@16 corner:
>>> 1...@32
>>> ...etc...
>>> stopBlock: a CharacterBlock with index 1 and character $M and rectangle
>>> 0...@0 cor...etc...
>>> beginTypeInBlock: nil
>>> emphasisHere: an Array(a TextFontChange font: 2)
>>> initialText: a Text for 'MorphicReplayDemoTest
>>> compile: self
>>> '
>>> selectionShowing: false
>>> otherInterval: (38 to: 38)
>>> lastParentLocation: nil
>>> morph: a TextMorphForEditView(3730)
>>> oldInterval: nil
>>> pivotBlock: nil
>>>
>>> TextMorphEditor(ParagraphEditor)>>doIt
>>> Receiver: a TextMorphEditor
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> model: a NewInspector
>>> paragraph: a MultiNewParagraph
>>> startBlock: a CharacterBlock with index 39 and rectangle 1...@16 corner:
>>> 1...@32
>>> ...etc...
>>> stopBlock: a CharacterBlock with index 1 and character $M and rectangle
>>> 0...@0 cor...etc...
>>> beginTypeInBlock: nil
>>> emphasisHere: an Array(a TextFontChange font: 2)
>>> initialText: a Text for 'MorphicReplayDemoTest
>>> compile: self
>>> '
>>> selectionShowing: false
>>> otherInterval: (38 to: 38)
>>> lastParentLocation: nil
>>> morph: a TextMorphForEditView(3730)
>>> oldInterval: nil
>>> pivotBlock: nil
>>>
>>> [] in TextMorphEditor(ParagraphEditor)>>doIt:
>>> Receiver: a TextMorphEditor
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> model: a NewInspector
>>> paragraph: a MultiNewParagraph
>>> startBlock: a CharacterBlock with index 39 and rectangle 1...@16 corner:
>>> 1...@32
>>> ...etc...
>>> stopBlock: a CharacterBlock with index 1 and character $M and rectangle
>>> 0...@0 cor...etc...
>>> beginTypeInBlock: nil
>>> emphasisHere: an Array(a TextFontChange font: 2)
>>> initialText: a Text for 'MorphicReplayDemoTest
>>> compile: self
>>> '
>>> selectionShowing: false
>>> otherInterval: (38 to: 38)
>>> lastParentLocation: nil
>>> morph: a TextMorphForEditView(3730)
>>> oldInterval: nil
>>> pivotBlock: nil
>>>
>>> TextMorphEditor(ParagraphEditor)>>terminateAndInitializeAround:
>>> Receiver: a TextMorphEditor
>>> Arguments and temporary variables:
>>> aBlock: [closure] in TextMorphEditor(ParagraphEditor)>>doIt:
>>> Receiver's instance variables:
>>> model: a NewInspector
>>> paragraph: a MultiNewParagraph
>>> startBlock: a CharacterBlock with index 39 and rectangle 1...@16 corner:
>>> 1...@32
>>> ...etc...
>>> stopBlock: a CharacterBlock with index 1 and character $M and rectangle
>>> 0...@0 cor...etc...
>>> beginTypeInBlock: nil
>>> emphasisHere: an Array(a TextFontChange font: 2)
>>> initialText: a Text for 'MorphicReplayDemoTest
>>> compile: self
>>> '
>>> selectionShowing: false
>>> otherInterval: (38 to: 38)
>>> lastParentLocation: nil
>>> morph: a TextMorphForEditView(3730)
>>> oldInterval: nil
>>> pivotBlock: nil
>>>
>>> TextMorphEditor(ParagraphEditor)>>doIt:
>>> Receiver: a TextMorphEditor
>>> Arguments and temporary variables:
>>> characterStream: a WriteStream ''
>>> Receiver's instance variables:
>>> model: a NewInspector
>>> paragraph: a MultiNewParagraph
>>> startBlock: a CharacterBlock with index 39 and rectangle 1...@16 corner:
>>> 1...@32
>>> ...etc...
>>> stopBlock: a CharacterBlock with index 1 and character $M and rectangle
>>> 0...@0 cor...etc...
>>> beginTypeInBlock: nil
>>> emphasisHere: an Array(a TextFontChange font: 2)
>>> initialText: a Text for 'MorphicReplayDemoTest
>>> compile: self
>>> '
>>> selectionShowing: false
>>> otherInterval: (38 to: 38)
>>> lastParentLocation: nil
>>> morph: a TextMorphForEditView(3730)
>>> oldInterval: nil
>>> pivotBlock: nil
>>>
>>> TextMorphEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
>>> Receiver: a TextMorphEditor
>>> Arguments and temporary variables:
>>> keyEvent: [keystroke '<Cmd-d>']
>>> typeAheadStream: a WriteStream ''
>>> honorCommandKeys: true
>>> keyValue: 100
>>> keyChar: $d
>>> char: $d
>>> action: #doIt:
>>> Receiver's instance variables:
>>> model: a NewInspector
>>> paragraph: a MultiNewParagraph
>>> startBlock: a CharacterBlock with index 39 and rectangle 1...@16 corner:
>>> 1...@32
>>> ...etc...
>>> stopBlock: a CharacterBlock with index 1 and character $M and rectangle
>>> 0...@0 cor...etc...
>>> beginTypeInBlock: nil
>>> emphasisHere: an Array(a TextFontChange font: 2)
>>> initialText: a Text for 'MorphicReplayDemoTest
>>> compile: self
>>> '
>>> selectionShowing: false
>>> otherInterval: (38 to: 38)
>>> lastParentLocation: nil
>>> morph: a TextMorphForEditView(3730)
>>> oldInterval: nil
>>> pivotBlock: nil
>>>
>>> TextMorphEditor>>dispatchOnKeyEvent:with:
>>> Receiver: a TextMorphEditor
>>> Arguments and temporary variables:
>>> keyEvent: [keystroke '<Cmd-d>']
>>> typeAheadStream: a WriteStream ''
>>> Receiver's instance variables:
>>> model: a NewInspector
>>> paragraph: a MultiNewParagraph
>>> startBlock: a CharacterBlock with index 39 and rectangle 1...@16 corner:
>>> 1...@32
>>> ...etc...
>>> stopBlock: a CharacterBlock with index 1 and character $M and rectangle
>>> 0...@0 cor...etc...
>>> beginTypeInBlock: nil
>>> emphasisHere: an Array(a TextFontChange font: 2)
>>> initialText: a Text for 'MorphicReplayDemoTest
>>> compile: self
>>> '
>>> selectionShowing: false
>>> otherInterval: (38 to: 38)
>>> lastParentLocation: nil
>>> morph: a TextMorphForEditView(3730)
>>> oldInterval: nil
>>> pivotBlock: nil
>>>
>>> TextMorphEditor(ParagraphEditor)>>keystroke:
>>> Receiver: a TextMorphEditor
>>> Arguments and temporary variables:
>>> keyEvent: [keystroke '<Cmd-d>']
>>> typeAhead: a WriteStream ''
>>> Receiver's instance variables:
>>> model: a NewInspector
>>> paragraph: a MultiNewParagraph
>>> startBlock: a CharacterBlock with index 39 and rectangle 1...@16 corner:
>>> 1...@32
>>> ...etc...
>>> stopBlock: a CharacterBlock with index 1 and character $M and rectangle
>>> 0...@0 cor...etc...
>>> beginTypeInBlock: nil
>>> emphasisHere: an Array(a TextFontChange font: 2)
>>> initialText: a Text for 'MorphicReplayDemoTest
>>> compile: self
>>> '
>>> selectionShowing: false
>>> otherInterval: (38 to: 38)
>>> lastParentLocation: nil
>>> morph: a TextMorphForEditView(3730)
>>> oldInterval: nil
>>> pivotBlock: nil
>>>
>>> TextMorphEditor>>keystroke:
>>> Receiver: a TextMorphEditor
>>> Arguments and temporary variables:
>>> keyEvent: [keystroke '<Cmd-d>']
>>> Receiver's instance variables:
>>> model: a NewInspector
>>> paragraph: a MultiNewParagraph
>>> startBlock: a CharacterBlock with index 39 and rectangle 1...@16 corner:
>>> 1...@32
>>> ...etc...
>>> stopBlock: a CharacterBlock with index 1 and character $M and rectangle
>>> 0...@0 cor...etc...
>>> beginTypeInBlock: nil
>>> emphasisHere: an Array(a TextFontChange font: 2)
>>> initialText: a Text for 'MorphicReplayDemoTest
>>> compile: self
>>> '
>>> selectionShowing: false
>>> otherInterval: (38 to: 38)
>>> lastParentLocation: nil
>>> morph: a TextMorphForEditView(3730)
>>> oldInterval: nil
>>> pivotBlock: nil
>>>
>>> [] in [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>> Receiver: a TextMorphForEditView(3730)
>>> Arguments and temporary variables:
>>> evt: [keystroke '<Cmd-d>']
>>> Receiver's instance variables:
>>> bounds: 0...@0 corner: 3...@34
>>> owner: a TransformMorph(942)
>>> submorphs: #()
>>> fullBounds: 0...@0 corner: 3...@34
>>> color: Color black
>>> extension: a MorphExtension (3477) [other: (blinkStart -> 11369859)]
>>> borderWidth: 0
>>> borderColor: Color black
>>> textStyle: a TextStyle Bitmap DejaVu Sans 9
>>> text: a Text for 'MorphicReplayDemoTest
>>> compile: self.'
>>> wrapFlag: true
>>> paragraph: a MultiNewParagraph
>>> editor: a TextMorphEditor
>>> container: nil
>>> predecessor: nil
>>> successor: nil
>>> backgroundColor: nil
>>> margins: nil
>>> editHistory: a TextMorphCommandHistory
>>> editView: a PluggableTextMorphPlus(2866)
>>> acceptOnCR: false
>>>
>>> TextMorphForEditView(TextMorph)>>handleInteraction:
>>> Receiver: a TextMorphForEditView(3730)
>>> Arguments and temporary variables:
>>> interactionBlock: [closure] in [] in
>>> TextMorphForEditView(TextMorph)>>keyStroke...etc...
>>> oldEditor: a TextMorphEditor
>>> oldParagraph: a MultiNewParagraph
>>> oldText: a Text for 'MorphicReplayDemoTest
>>> compile: self.'
>>> Receiver's instance variables:
>>> bounds: 0...@0 corner: 3...@34
>>> owner: a TransformMorph(942)
>>> submorphs: #()
>>> fullBounds: 0...@0 corner: 3...@34
>>> color: Color black
>>> extension: a MorphExtension (3477) [other: (blinkStart -> 11369859)]
>>> borderWidth: 0
>>> borderColor: Color black
>>> textStyle: a TextStyle Bitmap DejaVu Sans 9
>>> text: a Text for 'MorphicReplayDemoTest
>>> compile: self.'
>>> wrapFlag: true
>>> paragraph: a MultiNewParagraph
>>> editor: a TextMorphEditor
>>> container: nil
>>> predecessor: nil
>>> successor: nil
>>> backgroundColor: nil
>>> margins: nil
>>> editHistory: a TextMorphCommandHistory
>>> editView: a PluggableTextMorphPlus(2866)
>>> acceptOnCR: false
>>>
>>> TextMorphForEditView>>handleInteraction:
>>> Receiver: a TextMorphForEditView(3730)
>>> Arguments and temporary variables:
>>> interActionBlock: [closure] in [] in
>>> TextMorphForEditView(TextMorph)>>keyStroke...etc...
>>> Receiver's instance variables:
>>> bounds: 0...@0 corner: 3...@34
>>> owner: a TransformMorph(942)
>>> submorphs: #()
>>> fullBounds: 0...@0 corner: 3...@34
>>> color: Color black
>>> extension: a MorphExtension (3477) [other: (blinkStart -> 11369859)]
>>> borderWidth: 0
>>> borderColor: Color black
>>> textStyle: a TextStyle Bitmap DejaVu Sans 9
>>> text: a Text for 'MorphicReplayDemoTest
>>> compile: self.'
>>> wrapFlag: true
>>> paragraph: a MultiNewParagraph
>>> editor: a TextMorphEditor
>>> container: nil
>>> predecessor: nil
>>> successor: nil
>>> backgroundColor: nil
>>> margins: nil
>>> editHistory: a TextMorphCommandHistory
>>> editView: a PluggableTextMorphPlus(2866)
>>> acceptOnCR: false
>>>
>>>
>>> --- The full stack ---
>>> UndefinedObject(Object)>>doesNotUnderstand: #<
>>> EncoderForV3PlusClosures(EncoderForV3)>>genPushLiteral:
>>>
>>> EncoderForV3PlusClosures(BytecodeEncoder)>>sizeOpcodeSelector:withArguments:
>>> EncoderForV3PlusClosures(BytecodeEncoder)>>sizePushLiteral:
>>> LiteralNode>>sizeCodeForValue:
>>> [] in MessageNode>>sizeCodeForValue:
>>> Array(SequenceableCollection)>>collect:
>>> MessageNode>>sizeCodeForValue:
>>> [] in MessageNode>>sizeCodeForValue:
>>> OrderedCollection>>collect:
>>> MessageNode>>sizeCodeForValue:
>>> MessageNode(ParseNode)>>sizeCodeForEffect:
>>> MessageNode>>sizeCodeForEffect:
>>> BlockNode>>sizeCodeExceptLast:
>>> BlockNode>>sizeCodeForEvaluatedValue:
>>> BytecodeAgnosticMethodNode>>generate:
>>> CompiledMethodWithNode class>>generateMethodFromNode:trailer:
>>> MorphicReplayDemoTest
>>> class(Behavior)>>compile:classified:notifying:trailer:ifFail:
>>> MorphicReplayDemoTest
>>> class(ClassDescription)>>compile:classified:withStamp:notifying:logSource:
>>> MorphicReplayDemoTest
>>> class(ClassDescription)>>compile:classified:withStamp:notifying:
>>> MorphicReplayDemoTest
>>> class(ClassDescription)>>compile:classified:notifying:
>>> MorphicReplayDemoTest class(ClassDescription)>>compile:notifying:
>>> MorphicReplayDemoTest class(Behavior)>>compile:
>>> ByteString>>DoIt
>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>> BlockClosure>>on:do:
>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>> TextMorphEditor(ParagraphEditor)>>doIt
>>> [] in TextMorphEditor(ParagraphEditor)>>doIt:
>>> TextMorphEditor(ParagraphEditor)>>terminateAndInitializeAround:
>>> TextMorphEditor(ParagraphEditor)>>doIt:
>>> TextMorphEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
>>> TextMorphEditor>>dispatchOnKeyEvent:with:
>>> TextMorphEditor(ParagraphEditor)>>keystroke:
>>> TextMorphEditor>>keystroke:
>>> [] in [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>> TextMorphForEditView(TextMorph)>>handleInteraction:
>>> TextMorphForEditView>>handleInteraction:
>>> - - - - - - - - - - - - - - -
>>> - - - - - - - - - - - - - - - - - -
>>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>> ECToolSet class>>codeCompletionAround:textMorph:keyStroke:
>>> DEVToolSet class>>codeCompletionAround:textMorph:keyStroke:
>>> ToolSet class>>codeCompletionAround:textMorph:keyStroke:
>>> TextMorphForEditView(TextMorph)>>keyStroke:
>>> TextMorphForEditView>>keyStroke:
>>> TextMorphForEditView(TextMorph)>>handleKeystroke:
>>> KeyboardEvent>>sentTo:
>>> TextMorphForEditView(Morph)>>handleEvent:
>>> TextMorphForEditView(Morph)>>handleFocusEvent:
>>> [] in HandMorph>>sendFocusEvent:to:clear:
>>> [] in PasteUpMorph>>becomeActiveDuring:
>>> BlockClosure>>on:do:
>>> PasteUpMorph>>becomeActiveDuring:
>>> HandMorph>>sendFocusEvent:to:clear:
>>> HandMorph>>sendEvent:focus:clear:
>>> HandMorph>>sendKeyboardEvent:
>>> HandMorph>>handleEvent:
>>> HandMorph>>processEvents
>>> [] in WorldState>>doOneCycleNowFor:
>>> Array(SequenceableCollection)>>do:
>>> WorldState>>handsDo:
>>> WorldState>>doOneCycleNowFor:
>>> WorldState>>doOneCycleFor:
>>> PasteUpMorph>>doOneCycle
>>> [] in Project class>>spawnNewProcess
>>> [] in BlockClosure>>newProcess
>>> -----------------------------------------------------------
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [email protected]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
>
> --
> imagination is more important than knowledge - Albert Einstein
> Logic will get you from A to B. Imagination will take you everywhere -
> Albert Einstein
> Learn from yesterday, live for today, hope for tomorrow. The important thing
> is not to stop questioning. - Albert Einstein
> The true sign of intelligence is not knowledge but imagination. - Albert
> Einstein
> Gravitation is not responsible for people falling in love. - Albert Einstein
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to