[BUG]MessageNode(Object)>>doesNotUnderstand: #code
joel at ikestrel.com
joel at ikestrel.com
Thu Jun 3 23:14:58 UTC 2004
I tried to inspect the following from a workspace:
([ :x | x + 1 ] decompile) code
The code method is:
^statements first code
The problem is that in the above, the first element in the statements
array is a MessageNode and MessageNode does not have the code method
defined on it.
3 June 2004 7:11:12 pm
VM: unix - a SmalltalkImage
Image: Squeak3.7beta [latest update: #5868]
SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /home/jshellman/data/dev/squeak/work
Trusted Dir /home/jshellman/data/dev/squeak/work/secure
Untrusted Dir /home/jshellman/data/dev/squeak/work/untrusted
MessageNode(Object)>>doesNotUnderstand: #code
Receiver: {x + 1}
Arguments and temporary variables:
aMessage: code
Receiver's instance variables:
comment: nil
pc: nil
receiver: {x}
selector: {+}
precedence: 2
special: 0
arguments: #({1})
sizes: #(nil)
equalNode: nil
caseErrorNode: nil
BlockNode>>code
Receiver: {[:x | x + 1]}
Arguments and temporary variables:
Receiver's instance variables:
comment: nil
pc: nil
arguments: #({x})
statements: #({x + 1})
returns: false
nArgsNode: nil
size: nil
remoteCopyNode: nil
temporaries: #()
UndefinedObject>>DoIt
Receiver: nil
Arguments and temporary variables:
x: nil
Receiver's instance variables:
nil
Compiler>>evaluate:in:to:notifying:ifFail:logged:
Receiver: a Compiler
Arguments and temporary variables:
textOrStream: '([ :x | x + 1 ] decompile) code'
aContext: nil
receiver: nil
aRequestor: a TextMorphEditor
failBlock: [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection
{[FakeClassPool adopt: nil. ^ #failedDoit]}...etc...
logFlag: true
methodNode: DoIt
^ [:x | x + 1] decompile code
method: a CompiledMethod (3655)
value: nil
selector: #DoIt
Receiver's instance variables:
sourceStream: a ReadStream '([ :x | x + 1 ] decompile) code'
requestor: a TextMorphEditor
class: UndefinedObject
context: nil
parserClass: Parser
cacheDoItNode: true
--- The full stack ---
MessageNode(Object)>>doesNotUnderstand: #code
BlockNode>>code
UndefinedObject>>DoIt
Compiler>>evaluate:in:to:notifying:ifFail:logged:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[] in TextMorphEditor(ParagraphEditor)>>evaluateSelection {[rcvr class
evaluatorClass new evaluate: self selection string in: ctxt ...]}
BlockContext>>on:do:
TextMorphEditor(ParagraphEditor)>>evaluateSelection
TextMorphEditor(ParagraphEditor)>>inspectIt
TextMorphEditor>>inspectIt:
TextMorphEditor(ParagraphEditor)>>dispatchOnCharacter:with:
TextMorphEditor>>dispatchOnCharacter:with:
TextMorphEditor(ParagraphEditor)>>readKeyboard
TextMorphEditor>>readKeyboard
[] in TextMorphForEditView(TextMorph)>>keyStroke: {[editor
readKeyboard]}
TextMorphForEditView(TextMorph)>>handleInteraction:fromEvent:
TextMorphForEditView>>handleInteraction:fromEvent:
TextMorphForEditView(TextMorph)>>keyStroke:
TextMorphForEditView>>keyStroke:
TextMorphForEditView(TextMorph)>>handleKeystroke:
KeyboardEvent>>sentTo:
TextMorphForEditView(Morph)>>handleEvent:
TextMorphForEditView(Morph)>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self.
ActiveEvent := anEvent. result := focusHolder han...]}
[] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
BlockContext>>on:do:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendKeyboardEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h
processEvents. capturingGesture := capturingGest...]}
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess {[[World doOneCycle. Processor
yield. false] whileFalse. nil]}
[] in BlockContext>>newProcess {[self value. Processor
terminateActive]}
More information about the Squeak-dev
mailing list
|