[Bug][5.2beta][Test] menu 'method source with it' causes error in DecompilerConstructor object

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[Bug][5.2beta][Test] menu 'method source with it' causes error in DecompilerConstructor object

Hannes Hirzel
Hello

A manual test case which fails:

1) I open a workspace
2) I add and select the text
      previous project
3) I choose the menu 'method source with it'

Result is that I get an error in

DecompilerConstructor>>
codeMethod: selector block: block tempVars: vars primitive: primitive
class: class


Stack trace below

--Hannes

--------------------------------------------------------------------------------------------------------------------------------------
7 September 2018 8:40:44.650159 am

VM: unix - Smalltalk
Image: Squeak5.2alpha [latest update: #18185]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /home/user24/Documents/Squeak5.2/Squeak5.2alpha-18185-32bit-All-in-One.app/Contents/Resources
Trusted Dir /home/user24/Documents/Squeak5.2/Squeak5.2alpha-18185-32bit-All-in-One.app/Contents/Resources/secure
Untrusted Dir /home/user24/Documents/Squeak5.2/Squeak5.2alpha-18185-32bit-All-in-One.app/Contents/Resources/My
Squeak

UndefinedObject(Object)>>doesNotUnderstand: #precedence
        Receiver: nil
        Arguments and temporary variables:
                aMessage: precedence
                exception: MessageNotUnderstood: UndefinedObject>>precedence
                resumeValue: nil
        Receiver's instance variables:
nil

DecompilerConstructor>>codeMethod:block:tempVars:primitive:class:
        Receiver: {a DecompilerConstructor}
        Arguments and temporary variables:
                selector: nil
                block: {[[] repeat.
        self getValueAtCursor doMenuItem: 'resist being picked up'...etc...
                vars: #()
                primitive: 0
                class: Player217
                blockNode: nil
                selectorNode: {<key==nil>}
                visibleTemps: an OrderedCollection()
                invisibleTemps: an OrderedCollection()
                arguments: an OrderedCollection()
                temporaries: an OrderedCollection()
                properties: an AdditionalMethodState (1209644)
                onceCache: nil
        Receiver's instance variables:
                comment: nil
                pc: nil
                method: (Player217>>nil "a CompiledMethod(1568738)")
                instVars: #('dependents' 'costume' 'costumes')
                nArgs: 0
                literalValues: {#timesRepeat: . #getCount . #doMenuItem: .
#getValueAtCursor . ...etc...
                tempVars: #()

Decompiler>>decompile:in:method:using:
        Receiver: a Decompiler
        Arguments and temporary variables:
                aSelector: nil
                aClass: Player217
                aMethod: (Player217>>nil "a CompiledMethod(1568738)")
                aConstructor: {a DecompilerConstructor}
                block: {[[] repeat.
        self getValueAtCursor doMenuItem: 'resist being picked up'...etc...
                node: nil
        Receiver's instance variables:
                sender: (Player217>>nil "a CompiledMethod(1568738)")
                pc: 63
                constructor: {a DecompilerConstructor}
                method: (Player217>>nil "a CompiledMethod(1568738)")
                instVars: #(nil nil nil)
                tempVars: #()
                constTable: {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
                stack: an OrderedCollection()
                statements: an OrderedCollection()
                lastPc: 62
                exit: 63
                caseExits: an OrderedCollection()
                lastJumpPc: 62
                lastReturnPc: -1
                limit: 63
                hasValue: false
                blockStackBase: nil
                numLocalTemps: 0
                blockStartsToTempVars: nil
                tempVarCount: 0
                lastJumpIfPcStack: an OrderedCollection()
                tempReadCounts: a Dictionary()

Decompiler>>decompile:in:method:
        Receiver: a Decompiler
        Arguments and temporary variables:
                aSelector: nil
                aClass: Player217
                aMethod: (Player217>>nil "a CompiledMethod(1568738)")
        Receiver's instance variables:
                sender: (Player217>>nil "a CompiledMethod(1568738)")
                pc: 63
                constructor: {a DecompilerConstructor}
                method: (Player217>>nil "a CompiledMethod(1568738)")
                instVars: #(nil nil nil)
                tempVars: #()
                constTable: {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
                stack: an OrderedCollection()
                statements: an OrderedCollection()
                lastPc: 62
                exit: 63
                caseExits: an OrderedCollection()
                lastJumpPc: 62
                lastReturnPc: -1
                limit: 63
                hasValue: false
                blockStackBase: nil
                numLocalTemps: 0
                blockStartsToTempVars: nil
                tempVarCount: 0
                lastJumpIfPcStack: an OrderedCollection()
                tempReadCounts: a Dictionary()

CompiledMethod>>getSourceFor:in:
        Receiver: (Player217>>nil "a CompiledMethod(1568738)")
        Arguments and temporary variables:
                selector: nil
                class: Player217
                trailer: a CompiledMethodTrailer
                source: nil
                namesString: nil
                code: nil
        Receiver's instance variables:
(Player217>>nil "a CompiledMethod(1568738)")

CompiledMethod(CompiledCode)>>getSource
        Receiver: (Player217>>nil "a CompiledMethod(1568738)")
        Arguments and temporary variables:

        Receiver's instance variables:
(Player217>>nil "a CompiledMethod(1568738)")

[] in [] in [] in SystemNavigation>>allMethodsWithSourceString:matchCase:
        Receiver: a SystemNavigation
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                browserClass: nil
                hierarchyBrowserClass: nil
                environment: Smalltalk

[] in [] in SystemNavigation>>allSelectorsAndMethodsDo:
        Receiver: a SystemNavigation
        Arguments and temporary variables:
                aBlock: #script1
                behavior: (Player217>>nil "a CompiledMethod(1568738)")
                selector: Player217
                method: [closure] in [] in [] in
SystemNavigation>>allMethodsWithSourceString:matchCase:...etc...
        Receiver's instance variables:
                browserClass: nil
                hierarchyBrowserClass: nil
                environment: Smalltalk

MethodDictionary>>keysAndValuesDo:
        Receiver: a MethodDictionary(#script1->(Player217>>nil "a
CompiledMethod(1568738)") )
        Arguments and temporary variables:
                aBlock: [closure] in [] in SystemNavigation>>allSelectorsAndMethodsDo:
                key: #script1
                i: 8
                iLimiT: 32
        Receiver's instance variables:
                tally: 1
                array: {nil . nil . nil . nil . nil . nil . nil . (Player217>>nil
"a CompiledMethod...etc...

Player217 class(Behavior)>>selectorsAndMethodsDo:
        Receiver: Player217
        Arguments and temporary variables:
                selectorAndMethodBlock: [closure] in [] in
SystemNavigation>>allSelectorsAndMethodsDo:...etc...
        Receiver's instance variables:
                superclass: Player
                methodDict: a MethodDictionary(#script1->(Player217>>nil "a
CompiledMethod(1568...etc...
                format: 65539
                instanceVariables: nil
                organization: ('scripts' script1)

                subclasses: nil
                name: #Player217
                classPool: nil
                sharedPools: nil
                environment: Smalltalk
                category: #UserObjects
                scripts: an IdentityDictionary(#script1->A UniclassScript -
selector: #script1 ...etc...
                slotInfo: an IdentityDictionary()
                variableDocks: <<error during printing>>

[] in SystemNavigation>>allSelectorsAndMethodsDo:
        Receiver: a SystemNavigation
        Arguments and temporary variables:
                aBlock: Player217
                behavior: [closure] in [] in [] in
SystemNavigation>>allMethodsWithSourceString:matchCase:...etc...
        Receiver's instance variables:
                browserClass: nil
                hierarchyBrowserClass: nil
                environment: Smalltalk

[] in SystemNavigation>>allBehaviorsDo:
        Receiver: a SystemNavigation
        Arguments and temporary variables:
                aBlock: Player217
                class: [closure] in SystemNavigation>>allSelectorsAndMethodsDo:
        Receiver's instance variables:
                browserClass: nil
                hierarchyBrowserClass: nil
                environment: Smalltalk

[] in Environment>>allClassesAndTraitsDo:
        Receiver: Smalltalk
        Arguments and temporary variables:
                aBlock: #Player217
                key: Player217
                value: [closure] in SystemNavigation>>allBehaviorsDo:
        Receiver's instance variables:
                info: SmalltalkInfo
                declarations: an IdentityDictionary(size 2732)
                bindings: an IdentityDictionary(size 2732)
                undeclared: a WeakIdentityDictionary()
                policies: {a BindingPolicy . a BindingPolicy}
                observers: an IdentitySet(EnvironmentForUniClass)

[] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
        Receiver: an IdentityDictionary(size 2732)
        Arguments and temporary variables:
                aBlock: #Player217=>Player217
                assoc: [closure] in Environment>>allClassesAndTraitsDo:
        Receiver's instance variables:
                tally: 2732
                array: {#ConnectionClosed=>ConnectionClosed .
#UTF8TextConverterTest=>UTF8TextConverterTest...etc...

IdentityDictionary(Dictionary)>>associationsDo:
        Receiver: an IdentityDictionary(size 2732)
        Arguments and temporary variables:
                aBlock: [closure] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
                element: #Player217=>Player217
                index: 2628
                indexLimiT: 3727
        Receiver's instance variables:
                tally: 2732
                array: {#ConnectionClosed=>ConnectionClosed .
#UTF8TextConverterTest=>UTF8TextConverterTest...etc...

IdentityDictionary(Dictionary)>>keysAndValuesDo:
        Receiver: an IdentityDictionary(size 2732)
        Arguments and temporary variables:
                aBlock: [closure] in Environment>>allClassesAndTraitsDo:
        Receiver's instance variables:
                tally: 2732
                array: {#ConnectionClosed=>ConnectionClosed .
#UTF8TextConverterTest=>UTF8TextConverterTest...etc...

Environment>>allClassesAndTraitsDo:
        Receiver: Smalltalk
        Arguments and temporary variables:
                aBlock: [closure] in SystemNavigation>>allBehaviorsDo:
        Receiver's instance variables:
                info: SmalltalkInfo
                declarations: an IdentityDictionary(size 2732)
                bindings: an IdentityDictionary(size 2732)
                undeclared: a WeakIdentityDictionary()
                policies: {a BindingPolicy . a BindingPolicy}
                observers: an IdentitySet(EnvironmentForUniClass)

SystemNavigation>>allBehaviorsDo:
        Receiver: a SystemNavigation
        Arguments and temporary variables:
                aBlock: [closure] in SystemNavigation>>allSelectorsAndMethodsDo:
        Receiver's instance variables:
                browserClass: nil
                hierarchyBrowserClass: nil
                environment: Smalltalk

SystemNavigation>>allSelectorsAndMethodsDo:
        Receiver: a SystemNavigation
        Arguments and temporary variables:
                aBlock: [closure] in [] in [] in
SystemNavigation>>allMethodsWithSourceString:matchCase:...etc...
        Receiver's instance variables:
                browserClass: nil
                hierarchyBrowserClass: nil
                environment: Smalltalk


--- The full stack ---
UndefinedObject(Object)>>doesNotUnderstand: #precedence
DecompilerConstructor>>codeMethod:block:tempVars:primitive:class:
Decompiler>>decompile:in:method:using:
Decompiler>>decompile:in:method:
CompiledMethod>>getSourceFor:in:
CompiledMethod(CompiledCode)>>getSource
[] in [] in [] in SystemNavigation>>allMethodsWithSourceString:matchCase:
[] in [] in SystemNavigation>>allSelectorsAndMethodsDo:
MethodDictionary>>keysAndValuesDo:
Player217 class(Behavior)>>selectorsAndMethodsDo:
[] in SystemNavigation>>allSelectorsAndMethodsDo:
[] in SystemNavigation>>allBehaviorsDo:
[] in Environment>>allClassesAndTraitsDo:
[] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
IdentityDictionary(Dictionary)>>associationsDo:
IdentityDictionary(Dictionary)>>keysAndValuesDo:
Environment>>allClassesAndTraitsDo:
SystemNavigation>>allBehaviorsDo:
SystemNavigation>>allSelectorsAndMethodsDo:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[] in [] in SystemNavigation>>allMethodsWithSourceString:matchCase:
[] in [] in MorphicUIManager>>displayProgress:at:from:to:during:
BlockClosure>>on:do:
[] in MorphicUIManager>>displayProgress:at:from:to:during:
BlockClosure>>ensure:
MorphicUIManager>>displayProgress:at:from:to:during:
ProgressInitiationException>>defaultResumeValue
ProgressInitiationException(Exception)>>resume
ProgressInitiationException>>defaultAction
UndefinedObject>>handleSignal:
Context>>handleSignal:
ProgressInitiationException(Exception)>>signal
ProgressInitiationException>>display:at:from:to:during:
ProgressInitiationException class>>display:at:from:to:during:
ByteString(String)>>displayProgressAt:from:to:during:
ByteString(String)>>displayProgressFrom:to:during:
[] in SystemNavigation>>allMethodsWithSourceString:matchCase:
BlockClosure>>on:do:
CurrentReadOnlySourceFiles class>>cacheDuring:
SystemNavigation>>allMethodsWithSourceString:matchCase:
SystemNavigation>>browseMethodsWithSourceString:
SmalltalkEditor(TextEditor)>>methodSourceContainingIt
[] in PluggableTextMorphPlus(PluggableTextMorph)>>methodSourceContainingIt
TextMorphForEditView(TextMorph)>>handleEdit:
PluggableTextMorphPlus(PluggableTextMorph)>>handleEdit:
PluggableTextMorphPlus(PluggableTextMorph)>>methodSourceContainingIt
Workspace(StringHolder)>>perform:orSendTo:
[] in MenuItemMorph>>invokeWithEvent:
BlockClosure>>ensure:
CursorWithMask(Cursor)>>showWhile:
MenuItemMorph>>invokeWithEvent:
MenuItemMorph>>mouseUp:
MenuItemMorph>>handleMouseUp:
MouseButtonEvent>>sentTo:
MenuItemMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuItemMorph(Morph)>>processEvent:using:
[] in MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
Array(SequenceableCollection)>>do:
MenuMorph(Morph)>>submorphsDo:
-- and more not shown --

Reply | Threaded
Open this post in threaded view
|

Re: [Bug][5.2beta][Test] menu 'method source with it' causes error in DecompilerConstructor object

Edgar De Cleene
Squeak5.2alpha-18182-32bit.image do not give this error, update yours and
see what happen.


Edgar
@morplenauta



On 07/09/2018, 03:44, "H. Hirzel" <[hidden email]> wrote:

> Hello

A manual test case which fails:

1) I open a workspace
2) I add and
> select the text
      previous project
3) I choose the menu 'method source
> with it'

Result is that I get an error
> in

DecompilerConstructor>>
codeMethod: selector block: block tempVars: vars
> primitive: primitive
class: class


Stack trace below

--Hannes



Reply | Threaded
Open this post in threaded view
|

Re: [Bug][5.2beta][Test] menu 'method source with it' causes error in DecompilerConstructor object

Hannes Hirzel
The first lines of the stack trace I have given in my post are

7 September 2018 8:40:44.650159 am

VM: unix - Smalltalk
Image: Squeak5.2alpha [latest update: #18185]

So _you_ need to update your image.

--Hannes

On 9/7/18, Edgar J. De Cleene <[hidden email]> wrote:

> Squeak5.2alpha-18182-32bit.image do not give this error, update yours and
> see what happen.
>
>
> Edgar
> @morplenauta
>
>
>
> On 07/09/2018, 03:44, "H. Hirzel" <[hidden email]> wrote:
>
>> Hello
>
> A manual test case which fails:
>
> 1) I open a workspace
> 2) I add and
>> select the text
>       previous project
> 3) I choose the menu 'method source
>> with it'
>
> Result is that I get an error
>> in
>
> DecompilerConstructor>>
> codeMethod: selector block: block tempVars: vars
>> primitive: primitive
> class: class
>
>
> Stack trace below
>
> --Hannes
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [Bug][5.2beta][Test] menu 'method source with it' causes error in DecompilerConstructor object

Chris Muller-3
In reply to this post by Hannes Hirzel
Hi Hannes,

It works for me.  It looks like you're not dealing with a stock trunk image...
________
CompiledMethod>>getSourceFor:in:
        Receiver: (Player217>>nil "a CompiledMethod(1568738)")
        Arguments and temporary variables:
                selector:       nil
                class:  Player217
                trailer:        a CompiledMethodTrailer
                source:         nil
                namesString:    nil
                code:   nil
        Receiver's instance variables:
(Player217>>nil "a CompiledMethod(1568738)")
_______

 - Chris

On Fri, Sep 7, 2018 at 1:44 AM H. Hirzel <[hidden email]> wrote:

>
> Hello
>
> A manual test case which fails:
>
> 1) I open a workspace
> 2) I add and select the text
>       previous project
> 3) I choose the menu 'method source with it'
>
> Result is that I get an error in
>
> DecompilerConstructor>>
> codeMethod: selector block: block tempVars: vars primitive: primitive
> class: class
>
>
> Stack trace below
>
> --Hannes
>
> --------------------------------------------------------------------------------------------------------------------------------------
> 7 September 2018 8:40:44.650159 am
>
> VM: unix - Smalltalk
> Image: Squeak5.2alpha [latest update: #18185]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir /home/user24/Documents/Squeak5.2/Squeak5.2alpha-18185-32bit-All-in-One.app/Contents/Resources
> Trusted Dir /home/user24/Documents/Squeak5.2/Squeak5.2alpha-18185-32bit-All-in-One.app/Contents/Resources/secure
> Untrusted Dir /home/user24/Documents/Squeak5.2/Squeak5.2alpha-18185-32bit-All-in-One.app/Contents/Resources/My
> Squeak
>
> UndefinedObject(Object)>>doesNotUnderstand: #precedence
>         Receiver: nil
>         Arguments and temporary variables:
>                 aMessage:       precedence
>                 exception:      MessageNotUnderstood: UndefinedObject>>precedence
>                 resumeValue:    nil
>         Receiver's instance variables:
> nil
>
> DecompilerConstructor>>codeMethod:block:tempVars:primitive:class:
>         Receiver: {a DecompilerConstructor}
>         Arguments and temporary variables:
>                 selector:       nil
>                 block:  {[[] repeat.
>         self getValueAtCursor doMenuItem: 'resist being picked up'...etc...
>                 vars:   #()
>                 primitive:      0
>                 class:  Player217
>                 blockNode:      nil
>                 selectorNode:   {<key==nil>}
>                 visibleTemps:   an OrderedCollection()
>                 invisibleTemps:         an OrderedCollection()
>                 arguments:      an OrderedCollection()
>                 temporaries:    an OrderedCollection()
>                 properties:     an AdditionalMethodState (1209644)
>                 onceCache:      nil
>         Receiver's instance variables:
>                 comment:        nil
>                 pc:     nil
>                 method:         (Player217>>nil "a CompiledMethod(1568738)")
>                 instVars:       #('dependents' 'costume' 'costumes')
>                 nArgs:  0
>                 literalValues:  {#timesRepeat: . #getCount . #doMenuItem: .
> #getValueAtCursor . ...etc...
>                 tempVars:       #()
>
> Decompiler>>decompile:in:method:using:
>         Receiver: a Decompiler
>         Arguments and temporary variables:
>                 aSelector:      nil
>                 aClass:         Player217
>                 aMethod:        (Player217>>nil "a CompiledMethod(1568738)")
>                 aConstructor:   {a DecompilerConstructor}
>                 block:  {[[] repeat.
>         self getValueAtCursor doMenuItem: 'resist being picked up'...etc...
>                 node:   nil
>         Receiver's instance variables:
>                 sender:         (Player217>>nil "a CompiledMethod(1568738)")
>                 pc:     63
>                 constructor:    {a DecompilerConstructor}
>                 method:         (Player217>>nil "a CompiledMethod(1568738)")
>                 instVars:       #(nil nil nil)
>                 tempVars:       #()
>                 constTable:     {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
>                 stack:  an OrderedCollection()
>                 statements:     an OrderedCollection()
>                 lastPc:         62
>                 exit:   63
>                 caseExits:      an OrderedCollection()
>                 lastJumpPc:     62
>                 lastReturnPc:   -1
>                 limit:  63
>                 hasValue:       false
>                 blockStackBase:         nil
>                 numLocalTemps:  0
>                 blockStartsToTempVars:  nil
>                 tempVarCount:   0
>                 lastJumpIfPcStack:      an OrderedCollection()
>                 tempReadCounts:         a Dictionary()
>
> Decompiler>>decompile:in:method:
>         Receiver: a Decompiler
>         Arguments and temporary variables:
>                 aSelector:      nil
>                 aClass:         Player217
>                 aMethod:        (Player217>>nil "a CompiledMethod(1568738)")
>         Receiver's instance variables:
>                 sender:         (Player217>>nil "a CompiledMethod(1568738)")
>                 pc:     63
>                 constructor:    {a DecompilerConstructor}
>                 method:         (Player217>>nil "a CompiledMethod(1568738)")
>                 instVars:       #(nil nil nil)
>                 tempVars:       #()
>                 constTable:     {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
>                 stack:  an OrderedCollection()
>                 statements:     an OrderedCollection()
>                 lastPc:         62
>                 exit:   63
>                 caseExits:      an OrderedCollection()
>                 lastJumpPc:     62
>                 lastReturnPc:   -1
>                 limit:  63
>                 hasValue:       false
>                 blockStackBase:         nil
>                 numLocalTemps:  0
>                 blockStartsToTempVars:  nil
>                 tempVarCount:   0
>                 lastJumpIfPcStack:      an OrderedCollection()
>                 tempReadCounts:         a Dictionary()
>
> CompiledMethod>>getSourceFor:in:
>         Receiver: (Player217>>nil "a CompiledMethod(1568738)")
>         Arguments and temporary variables:
>                 selector:       nil
>                 class:  Player217
>                 trailer:        a CompiledMethodTrailer
>                 source:         nil
>                 namesString:    nil
>                 code:   nil
>         Receiver's instance variables:
> (Player217>>nil "a CompiledMethod(1568738)")
>
> CompiledMethod(CompiledCode)>>getSource
>         Receiver: (Player217>>nil "a CompiledMethod(1568738)")
>         Arguments and temporary variables:
>
>         Receiver's instance variables:
> (Player217>>nil "a CompiledMethod(1568738)")
>
> [] in [] in [] in SystemNavigation>>allMethodsWithSourceString:matchCase:
>         Receiver: a SystemNavigation
>         Arguments and temporary variables:
> <<error during printing>
>         Receiver's instance variables:
>                 browserClass:   nil
>                 hierarchyBrowserClass:  nil
>                 environment:    Smalltalk
>
> [] in [] in SystemNavigation>>allSelectorsAndMethodsDo:
>         Receiver: a SystemNavigation
>         Arguments and temporary variables:
>                 aBlock:         #script1
>                 behavior:       (Player217>>nil "a CompiledMethod(1568738)")
>                 selector:       Player217
>                 method:         [closure] in [] in [] in
> SystemNavigation>>allMethodsWithSourceString:matchCase:...etc...
>         Receiver's instance variables:
>                 browserClass:   nil
>                 hierarchyBrowserClass:  nil
>                 environment:    Smalltalk
>
> MethodDictionary>>keysAndValuesDo:
>         Receiver: a MethodDictionary(#script1->(Player217>>nil "a
> CompiledMethod(1568738)") )
>         Arguments and temporary variables:
>                 aBlock:         [closure] in [] in SystemNavigation>>allSelectorsAndMethodsDo:
>                 key:    #script1
>                 i:      8
>                 iLimiT:         32
>         Receiver's instance variables:
>                 tally:  1
>                 array:  {nil . nil . nil . nil . nil . nil . nil . (Player217>>nil
> "a CompiledMethod...etc...
>
> Player217 class(Behavior)>>selectorsAndMethodsDo:
>         Receiver: Player217
>         Arguments and temporary variables:
>                 selectorAndMethodBlock:         [closure] in [] in
> SystemNavigation>>allSelectorsAndMethodsDo:...etc...
>         Receiver's instance variables:
>                 superclass:     Player
>                 methodDict:     a MethodDictionary(#script1->(Player217>>nil "a
> CompiledMethod(1568...etc...
>                 format:         65539
>                 instanceVariables:      nil
>                 organization:   ('scripts' script1)
>
>                 subclasses:     nil
>                 name:   #Player217
>                 classPool:      nil
>                 sharedPools:    nil
>                 environment:    Smalltalk
>                 category:       #UserObjects
>                 scripts:        an IdentityDictionary(#script1->A UniclassScript -
> selector: #script1 ...etc...
>                 slotInfo:       an IdentityDictionary()
>                 variableDocks:  <<error during printing>>
>
> [] in SystemNavigation>>allSelectorsAndMethodsDo:
>         Receiver: a SystemNavigation
>         Arguments and temporary variables:
>                 aBlock:         Player217
>                 behavior:       [closure] in [] in [] in
> SystemNavigation>>allMethodsWithSourceString:matchCase:...etc...
>         Receiver's instance variables:
>                 browserClass:   nil
>                 hierarchyBrowserClass:  nil
>                 environment:    Smalltalk
>
> [] in SystemNavigation>>allBehaviorsDo:
>         Receiver: a SystemNavigation
>         Arguments and temporary variables:
>                 aBlock:         Player217
>                 class:  [closure] in SystemNavigation>>allSelectorsAndMethodsDo:
>         Receiver's instance variables:
>                 browserClass:   nil
>                 hierarchyBrowserClass:  nil
>                 environment:    Smalltalk
>
> [] in Environment>>allClassesAndTraitsDo:
>         Receiver: Smalltalk
>         Arguments and temporary variables:
>                 aBlock:         #Player217
>                 key:    Player217
>                 value:  [closure] in SystemNavigation>>allBehaviorsDo:
>         Receiver's instance variables:
>                 info:   SmalltalkInfo
>                 declarations:   an IdentityDictionary(size 2732)
>                 bindings:       an IdentityDictionary(size 2732)
>                 undeclared:     a WeakIdentityDictionary()
>                 policies:       {a BindingPolicy . a BindingPolicy}
>                 observers:      an IdentitySet(EnvironmentForUniClass)
>
> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>         Receiver: an IdentityDictionary(size 2732)
>         Arguments and temporary variables:
>                 aBlock:         #Player217=>Player217
>                 assoc:  [closure] in Environment>>allClassesAndTraitsDo:
>         Receiver's instance variables:
>                 tally:  2732
>                 array:  {#ConnectionClosed=>ConnectionClosed .
> #UTF8TextConverterTest=>UTF8TextConverterTest...etc...
>
> IdentityDictionary(Dictionary)>>associationsDo:
>         Receiver: an IdentityDictionary(size 2732)
>         Arguments and temporary variables:
>                 aBlock:         [closure] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>                 element:        #Player217=>Player217
>                 index:  2628
>                 indexLimiT:     3727
>         Receiver's instance variables:
>                 tally:  2732
>                 array:  {#ConnectionClosed=>ConnectionClosed .
> #UTF8TextConverterTest=>UTF8TextConverterTest...etc...
>
> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>         Receiver: an IdentityDictionary(size 2732)
>         Arguments and temporary variables:
>                 aBlock:         [closure] in Environment>>allClassesAndTraitsDo:
>         Receiver's instance variables:
>                 tally:  2732
>                 array:  {#ConnectionClosed=>ConnectionClosed .
> #UTF8TextConverterTest=>UTF8TextConverterTest...etc...
>
> Environment>>allClassesAndTraitsDo:
>         Receiver: Smalltalk
>         Arguments and temporary variables:
>                 aBlock:         [closure] in SystemNavigation>>allBehaviorsDo:
>         Receiver's instance variables:
>                 info:   SmalltalkInfo
>                 declarations:   an IdentityDictionary(size 2732)
>                 bindings:       an IdentityDictionary(size 2732)
>                 undeclared:     a WeakIdentityDictionary()
>                 policies:       {a BindingPolicy . a BindingPolicy}
>                 observers:      an IdentitySet(EnvironmentForUniClass)
>
> SystemNavigation>>allBehaviorsDo:
>         Receiver: a SystemNavigation
>         Arguments and temporary variables:
>                 aBlock:         [closure] in SystemNavigation>>allSelectorsAndMethodsDo:
>         Receiver's instance variables:
>                 browserClass:   nil
>                 hierarchyBrowserClass:  nil
>                 environment:    Smalltalk
>
> SystemNavigation>>allSelectorsAndMethodsDo:
>         Receiver: a SystemNavigation
>         Arguments and temporary variables:
>                 aBlock:         [closure] in [] in [] in
> SystemNavigation>>allMethodsWithSourceString:matchCase:...etc...
>         Receiver's instance variables:
>                 browserClass:   nil
>                 hierarchyBrowserClass:  nil
>                 environment:    Smalltalk
>
>
> --- The full stack ---
> UndefinedObject(Object)>>doesNotUnderstand: #precedence
> DecompilerConstructor>>codeMethod:block:tempVars:primitive:class:
> Decompiler>>decompile:in:method:using:
> Decompiler>>decompile:in:method:
> CompiledMethod>>getSourceFor:in:
> CompiledMethod(CompiledCode)>>getSource
> [] in [] in [] in SystemNavigation>>allMethodsWithSourceString:matchCase:
> [] in [] in SystemNavigation>>allSelectorsAndMethodsDo:
> MethodDictionary>>keysAndValuesDo:
> Player217 class(Behavior)>>selectorsAndMethodsDo:
> [] in SystemNavigation>>allSelectorsAndMethodsDo:
> [] in SystemNavigation>>allBehaviorsDo:
> [] in Environment>>allClassesAndTraitsDo:
> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
> IdentityDictionary(Dictionary)>>associationsDo:
> IdentityDictionary(Dictionary)>>keysAndValuesDo:
> Environment>>allClassesAndTraitsDo:
> SystemNavigation>>allBehaviorsDo:
> SystemNavigation>>allSelectorsAndMethodsDo:
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> [] in [] in SystemNavigation>>allMethodsWithSourceString:matchCase:
> [] in [] in MorphicUIManager>>displayProgress:at:from:to:during:
> BlockClosure>>on:do:
> [] in MorphicUIManager>>displayProgress:at:from:to:during:
> BlockClosure>>ensure:
> MorphicUIManager>>displayProgress:at:from:to:during:
> ProgressInitiationException>>defaultResumeValue
> ProgressInitiationException(Exception)>>resume
> ProgressInitiationException>>defaultAction
> UndefinedObject>>handleSignal:
> Context>>handleSignal:
> ProgressInitiationException(Exception)>>signal
> ProgressInitiationException>>display:at:from:to:during:
> ProgressInitiationException class>>display:at:from:to:during:
> ByteString(String)>>displayProgressAt:from:to:during:
> ByteString(String)>>displayProgressFrom:to:during:
> [] in SystemNavigation>>allMethodsWithSourceString:matchCase:
> BlockClosure>>on:do:
> CurrentReadOnlySourceFiles class>>cacheDuring:
> SystemNavigation>>allMethodsWithSourceString:matchCase:
> SystemNavigation>>browseMethodsWithSourceString:
> SmalltalkEditor(TextEditor)>>methodSourceContainingIt
> [] in PluggableTextMorphPlus(PluggableTextMorph)>>methodSourceContainingIt
> TextMorphForEditView(TextMorph)>>handleEdit:
> PluggableTextMorphPlus(PluggableTextMorph)>>handleEdit:
> PluggableTextMorphPlus(PluggableTextMorph)>>methodSourceContainingIt
> Workspace(StringHolder)>>perform:orSendTo:
> [] in MenuItemMorph>>invokeWithEvent:
> BlockClosure>>ensure:
> CursorWithMask(Cursor)>>showWhile:
> MenuItemMorph>>invokeWithEvent:
> MenuItemMorph>>mouseUp:
> MenuItemMorph>>handleMouseUp:
> MouseButtonEvent>>sentTo:
> MenuItemMorph(Morph)>>handleEvent:
> MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
> MorphicEventDispatcher>>dispatchDefault:with:
> MorphicEventDispatcher>>dispatchEvent:with:
> MenuItemMorph(Morph)>>processEvent:using:
> [] in MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
> Array(SequenceableCollection)>>do:
> MenuMorph(Morph)>>submorphsDo:
> -- and more not shown --
>

Reply | Threaded
Open this post in threaded view
|

Re: [Bug][5.2beta][Test] menu 'method source with it' causes error in DecompilerConstructor object

Hannes Hirzel
Thanks for checking, Chris.

Yes, after using a new stock trunk image the error did no longer occur.

Sorry for the false alarm.

--Hannes

On 9/7/18, Chris Muller <[hidden email]> wrote:

> Hi Hannes,
>
> It works for me.  It looks like you're not dealing with a stock trunk
> image...
> ________
> CompiledMethod>>getSourceFor:in:
>         Receiver: (Player217>>nil "a CompiledMethod(1568738)")
>         Arguments and temporary variables:
>                 selector:       nil
>                 class:  Player217
>                 trailer:        a CompiledMethodTrailer
>                 source:         nil
>                 namesString:    nil
>                 code:   nil
>         Receiver's instance variables:
> (Player217>>nil "a CompiledMethod(1568738)")
> _______
>
>  - Chris
>
> On Fri, Sep 7, 2018 at 1:44 AM H. Hirzel <[hidden email]> wrote:
>>
>> Hello
>>
>> A manual test case which fails:
>>
>> 1) I open a workspace
>> 2) I add and select the text
>>       previous project
>> 3) I choose the menu 'method source with it'
>>
>> Result is that I get an error in
>>
>> DecompilerConstructor>>
>> codeMethod: selector block: block tempVars: vars primitive: primitive
>> class: class
>>
>>
>> Stack trace below
>>
>> --Hannes
>>
>> --------------------------------------------------------------------------------------------------------------------------------------
>> 7 September 2018 8:40:44.650159 am
>>
>> VM: unix - Smalltalk
>> Image: Squeak5.2alpha [latest update: #18185]
>>
>> SecurityManager state:
>> Restricted: false
>> FileAccess: true
>> SocketAccess: true
>> Working Dir
>> /home/user24/Documents/Squeak5.2/Squeak5.2alpha-18185-32bit-All-in-One.app/Contents/Resources
>> Trusted Dir
>> /home/user24/Documents/Squeak5.2/Squeak5.2alpha-18185-32bit-All-in-One.app/Contents/Resources/secure
>> Untrusted Dir
>> /home/user24/Documents/Squeak5.2/Squeak5.2alpha-18185-32bit-All-in-One.app/Contents/Resources/My
>> Squeak
>>
>> UndefinedObject(Object)>>doesNotUnderstand: #precedence
>>         Receiver: nil
>>         Arguments and temporary variables:
>>                 aMessage:       precedence
>>                 exception:      MessageNotUnderstood:
>> UndefinedObject>>precedence
>>                 resumeValue:    nil
>>         Receiver's instance variables:
>> nil
>>
>> DecompilerConstructor>>codeMethod:block:tempVars:primitive:class:
>>         Receiver: {a DecompilerConstructor}
>>         Arguments and temporary variables:
>>                 selector:       nil
>>                 block:  {[[] repeat.
>>         self getValueAtCursor doMenuItem: 'resist being picked
>> up'...etc...
>>                 vars:   #()
>>                 primitive:      0
>>                 class:  Player217
>>                 blockNode:      nil
>>                 selectorNode:   {<key==nil>}
>>                 visibleTemps:   an OrderedCollection()
>>                 invisibleTemps:         an OrderedCollection()
>>                 arguments:      an OrderedCollection()
>>                 temporaries:    an OrderedCollection()
>>                 properties:     an AdditionalMethodState (1209644)
>>                 onceCache:      nil
>>         Receiver's instance variables:
>>                 comment:        nil
>>                 pc:     nil
>>                 method:         (Player217>>nil "a
>> CompiledMethod(1568738)")
>>                 instVars:       #('dependents' 'costume' 'costumes')
>>                 nArgs:  0
>>                 literalValues:  {#timesRepeat: . #getCount . #doMenuItem:
>> .
>> #getValueAtCursor . ...etc...
>>                 tempVars:       #()
>>
>> Decompiler>>decompile:in:method:using:
>>         Receiver: a Decompiler
>>         Arguments and temporary variables:
>>                 aSelector:      nil
>>                 aClass:         Player217
>>                 aMethod:        (Player217>>nil "a
>> CompiledMethod(1568738)")
>>                 aConstructor:   {a DecompilerConstructor}
>>                 block:  {[[] repeat.
>>         self getValueAtCursor doMenuItem: 'resist being picked
>> up'...etc...
>>                 node:   nil
>>         Receiver's instance variables:
>>                 sender:         (Player217>>nil "a
>> CompiledMethod(1568738)")
>>                 pc:     63
>>                 constructor:    {a DecompilerConstructor}
>>                 method:         (Player217>>nil "a
>> CompiledMethod(1568738)")
>>                 instVars:       #(nil nil nil)
>>                 tempVars:       #()
>>                 constTable:     {{self} . {true} . {false} . {nil} . {-1}
>> . {0} . {1} . {2}}
>>                 stack:  an OrderedCollection()
>>                 statements:     an OrderedCollection()
>>                 lastPc:         62
>>                 exit:   63
>>                 caseExits:      an OrderedCollection()
>>                 lastJumpPc:     62
>>                 lastReturnPc:   -1
>>                 limit:  63
>>                 hasValue:       false
>>                 blockStackBase:         nil
>>                 numLocalTemps:  0
>>                 blockStartsToTempVars:  nil
>>                 tempVarCount:   0
>>                 lastJumpIfPcStack:      an OrderedCollection()
>>                 tempReadCounts:         a Dictionary()
>>
>> Decompiler>>decompile:in:method:
>>         Receiver: a Decompiler
>>         Arguments and temporary variables:
>>                 aSelector:      nil
>>                 aClass:         Player217
>>                 aMethod:        (Player217>>nil "a
>> CompiledMethod(1568738)")
>>         Receiver's instance variables:
>>                 sender:         (Player217>>nil "a
>> CompiledMethod(1568738)")
>>                 pc:     63
>>                 constructor:    {a DecompilerConstructor}
>>                 method:         (Player217>>nil "a
>> CompiledMethod(1568738)")
>>                 instVars:       #(nil nil nil)
>>                 tempVars:       #()
>>                 constTable:     {{self} . {true} . {false} . {nil} . {-1}
>> . {0} . {1} . {2}}
>>                 stack:  an OrderedCollection()
>>                 statements:     an OrderedCollection()
>>                 lastPc:         62
>>                 exit:   63
>>                 caseExits:      an OrderedCollection()
>>                 lastJumpPc:     62
>>                 lastReturnPc:   -1
>>                 limit:  63
>>                 hasValue:       false
>>                 blockStackBase:         nil
>>                 numLocalTemps:  0
>>                 blockStartsToTempVars:  nil
>>                 tempVarCount:   0
>>                 lastJumpIfPcStack:      an OrderedCollection()
>>                 tempReadCounts:         a Dictionary()
>>
>> CompiledMethod>>getSourceFor:in:
>>         Receiver: (Player217>>nil "a CompiledMethod(1568738)")
>>         Arguments and temporary variables:
>>                 selector:       nil
>>                 class:  Player217
>>                 trailer:        a CompiledMethodTrailer
>>                 source:         nil
>>                 namesString:    nil
>>                 code:   nil
>>         Receiver's instance variables:
>> (Player217>>nil "a CompiledMethod(1568738)")
>>
>> CompiledMethod(CompiledCode)>>getSource
>>         Receiver: (Player217>>nil "a CompiledMethod(1568738)")
>>         Arguments and temporary variables:
>>
>>         Receiver's instance variables:
>> (Player217>>nil "a CompiledMethod(1568738)")
>>
>> [] in [] in [] in SystemNavigation>>allMethodsWithSourceString:matchCase:
>>         Receiver: a SystemNavigation
>>         Arguments and temporary variables:
>> <<error during printing>
>>         Receiver's instance variables:
>>                 browserClass:   nil
>>                 hierarchyBrowserClass:  nil
>>                 environment:    Smalltalk
>>
>> [] in [] in SystemNavigation>>allSelectorsAndMethodsDo:
>>         Receiver: a SystemNavigation
>>         Arguments and temporary variables:
>>                 aBlock:         #script1
>>                 behavior:       (Player217>>nil "a
>> CompiledMethod(1568738)")
>>                 selector:       Player217
>>                 method:         [closure] in [] in [] in
>> SystemNavigation>>allMethodsWithSourceString:matchCase:...etc...
>>         Receiver's instance variables:
>>                 browserClass:   nil
>>                 hierarchyBrowserClass:  nil
>>                 environment:    Smalltalk
>>
>> MethodDictionary>>keysAndValuesDo:
>>         Receiver: a MethodDictionary(#script1->(Player217>>nil "a
>> CompiledMethod(1568738)") )
>>         Arguments and temporary variables:
>>                 aBlock:         [closure] in [] in
>> SystemNavigation>>allSelectorsAndMethodsDo:
>>                 key:    #script1
>>                 i:      8
>>                 iLimiT:         32
>>         Receiver's instance variables:
>>                 tally:  1
>>                 array:  {nil . nil . nil . nil . nil . nil . nil .
>> (Player217>>nil
>> "a CompiledMethod...etc...
>>
>> Player217 class(Behavior)>>selectorsAndMethodsDo:
>>         Receiver: Player217
>>         Arguments and temporary variables:
>>                 selectorAndMethodBlock:         [closure] in [] in
>> SystemNavigation>>allSelectorsAndMethodsDo:...etc...
>>         Receiver's instance variables:
>>                 superclass:     Player
>>                 methodDict:     a
>> MethodDictionary(#script1->(Player217>>nil "a
>> CompiledMethod(1568...etc...
>>                 format:         65539
>>                 instanceVariables:      nil
>>                 organization:   ('scripts' script1)
>>
>>                 subclasses:     nil
>>                 name:   #Player217
>>                 classPool:      nil
>>                 sharedPools:    nil
>>                 environment:    Smalltalk
>>                 category:       #UserObjects
>>                 scripts:        an IdentityDictionary(#script1->A
>> UniclassScript -
>> selector: #script1 ...etc...
>>                 slotInfo:       an IdentityDictionary()
>>                 variableDocks:  <<error during printing>>
>>
>> [] in SystemNavigation>>allSelectorsAndMethodsDo:
>>         Receiver: a SystemNavigation
>>         Arguments and temporary variables:
>>                 aBlock:         Player217
>>                 behavior:       [closure] in [] in [] in
>> SystemNavigation>>allMethodsWithSourceString:matchCase:...etc...
>>         Receiver's instance variables:
>>                 browserClass:   nil
>>                 hierarchyBrowserClass:  nil
>>                 environment:    Smalltalk
>>
>> [] in SystemNavigation>>allBehaviorsDo:
>>         Receiver: a SystemNavigation
>>         Arguments and temporary variables:
>>                 aBlock:         Player217
>>                 class:  [closure] in
>> SystemNavigation>>allSelectorsAndMethodsDo:
>>         Receiver's instance variables:
>>                 browserClass:   nil
>>                 hierarchyBrowserClass:  nil
>>                 environment:    Smalltalk
>>
>> [] in Environment>>allClassesAndTraitsDo:
>>         Receiver: Smalltalk
>>         Arguments and temporary variables:
>>                 aBlock:         #Player217
>>                 key:    Player217
>>                 value:  [closure] in SystemNavigation>>allBehaviorsDo:
>>         Receiver's instance variables:
>>                 info:   SmalltalkInfo
>>                 declarations:   an IdentityDictionary(size 2732)
>>                 bindings:       an IdentityDictionary(size 2732)
>>                 undeclared:     a WeakIdentityDictionary()
>>                 policies:       {a BindingPolicy . a BindingPolicy}
>>                 observers:      an IdentitySet(EnvironmentForUniClass)
>>
>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>         Receiver: an IdentityDictionary(size 2732)
>>         Arguments and temporary variables:
>>                 aBlock:         #Player217=>Player217
>>                 assoc:  [closure] in Environment>>allClassesAndTraitsDo:
>>         Receiver's instance variables:
>>                 tally:  2732
>>                 array:  {#ConnectionClosed=>ConnectionClosed .
>> #UTF8TextConverterTest=>UTF8TextConverterTest...etc...
>>
>> IdentityDictionary(Dictionary)>>associationsDo:
>>         Receiver: an IdentityDictionary(size 2732)
>>         Arguments and temporary variables:
>>                 aBlock:         [closure] in
>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>                 element:        #Player217=>Player217
>>                 index:  2628
>>                 indexLimiT:     3727
>>         Receiver's instance variables:
>>                 tally:  2732
>>                 array:  {#ConnectionClosed=>ConnectionClosed .
>> #UTF8TextConverterTest=>UTF8TextConverterTest...etc...
>>
>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>         Receiver: an IdentityDictionary(size 2732)
>>         Arguments and temporary variables:
>>                 aBlock:         [closure] in
>> Environment>>allClassesAndTraitsDo:
>>         Receiver's instance variables:
>>                 tally:  2732
>>                 array:  {#ConnectionClosed=>ConnectionClosed .
>> #UTF8TextConverterTest=>UTF8TextConverterTest...etc...
>>
>> Environment>>allClassesAndTraitsDo:
>>         Receiver: Smalltalk
>>         Arguments and temporary variables:
>>                 aBlock:         [closure] in
>> SystemNavigation>>allBehaviorsDo:
>>         Receiver's instance variables:
>>                 info:   SmalltalkInfo
>>                 declarations:   an IdentityDictionary(size 2732)
>>                 bindings:       an IdentityDictionary(size 2732)
>>                 undeclared:     a WeakIdentityDictionary()
>>                 policies:       {a BindingPolicy . a BindingPolicy}
>>                 observers:      an IdentitySet(EnvironmentForUniClass)
>>
>> SystemNavigation>>allBehaviorsDo:
>>         Receiver: a SystemNavigation
>>         Arguments and temporary variables:
>>                 aBlock:         [closure] in
>> SystemNavigation>>allSelectorsAndMethodsDo:
>>         Receiver's instance variables:
>>                 browserClass:   nil
>>                 hierarchyBrowserClass:  nil
>>                 environment:    Smalltalk
>>
>> SystemNavigation>>allSelectorsAndMethodsDo:
>>         Receiver: a SystemNavigation
>>         Arguments and temporary variables:
>>                 aBlock:         [closure] in [] in [] in
>> SystemNavigation>>allMethodsWithSourceString:matchCase:...etc...
>>         Receiver's instance variables:
>>                 browserClass:   nil
>>                 hierarchyBrowserClass:  nil
>>                 environment:    Smalltalk
>>
>>
>> --- The full stack ---
>> UndefinedObject(Object)>>doesNotUnderstand: #precedence
>> DecompilerConstructor>>codeMethod:block:tempVars:primitive:class:
>> Decompiler>>decompile:in:method:using:
>> Decompiler>>decompile:in:method:
>> CompiledMethod>>getSourceFor:in:
>> CompiledMethod(CompiledCode)>>getSource
>> [] in [] in [] in SystemNavigation>>allMethodsWithSourceString:matchCase:
>> [] in [] in SystemNavigation>>allSelectorsAndMethodsDo:
>> MethodDictionary>>keysAndValuesDo:
>> Player217 class(Behavior)>>selectorsAndMethodsDo:
>> [] in SystemNavigation>>allSelectorsAndMethodsDo:
>> [] in SystemNavigation>>allBehaviorsDo:
>> [] in Environment>>allClassesAndTraitsDo:
>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>> IdentityDictionary(Dictionary)>>associationsDo:
>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>> Environment>>allClassesAndTraitsDo:
>> SystemNavigation>>allBehaviorsDo:
>> SystemNavigation>>allSelectorsAndMethodsDo:
>>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>> [] in [] in SystemNavigation>>allMethodsWithSourceString:matchCase:
>> [] in [] in MorphicUIManager>>displayProgress:at:from:to:during:
>> BlockClosure>>on:do:
>> [] in MorphicUIManager>>displayProgress:at:from:to:during:
>> BlockClosure>>ensure:
>> MorphicUIManager>>displayProgress:at:from:to:during:
>> ProgressInitiationException>>defaultResumeValue
>> ProgressInitiationException(Exception)>>resume
>> ProgressInitiationException>>defaultAction
>> UndefinedObject>>handleSignal:
>> Context>>handleSignal:
>> ProgressInitiationException(Exception)>>signal
>> ProgressInitiationException>>display:at:from:to:during:
>> ProgressInitiationException class>>display:at:from:to:during:
>> ByteString(String)>>displayProgressAt:from:to:during:
>> ByteString(String)>>displayProgressFrom:to:during:
>> [] in SystemNavigation>>allMethodsWithSourceString:matchCase:
>> BlockClosure>>on:do:
>> CurrentReadOnlySourceFiles class>>cacheDuring:
>> SystemNavigation>>allMethodsWithSourceString:matchCase:
>> SystemNavigation>>browseMethodsWithSourceString:
>> SmalltalkEditor(TextEditor)>>methodSourceContainingIt
>> [] in PluggableTextMorphPlus(PluggableTextMorph)>>methodSourceContainingIt
>> TextMorphForEditView(TextMorph)>>handleEdit:
>> PluggableTextMorphPlus(PluggableTextMorph)>>handleEdit:
>> PluggableTextMorphPlus(PluggableTextMorph)>>methodSourceContainingIt
>> Workspace(StringHolder)>>perform:orSendTo:
>> [] in MenuItemMorph>>invokeWithEvent:
>> BlockClosure>>ensure:
>> CursorWithMask(Cursor)>>showWhile:
>> MenuItemMorph>>invokeWithEvent:
>> MenuItemMorph>>mouseUp:
>> MenuItemMorph>>handleMouseUp:
>> MouseButtonEvent>>sentTo:
>> MenuItemMorph(Morph)>>handleEvent:
>> MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
>> MorphicEventDispatcher>>dispatchDefault:with:
>> MorphicEventDispatcher>>dispatchEvent:with:
>> MenuItemMorph(Morph)>>processEvent:using:
>> [] in MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
>> Array(SequenceableCollection)>>do:
>> MenuMorph(Morph)>>submorphsDo:
>> -- and more not shown --
>>
>
>