[BUG] FileContentsBrowser/PseudoClass bug pretty printing
C. David Shaffer
cdshaffer at acm.org
Thu Feb 26 02:45:04 UTC 2004
If color pretty printing are enabled, if a method being viewed in the
FileContentsBrowser includes an i-var reference which the PseudoClass
can't find in it's scope table, you get the attached stack trace. I'm
not exactly sure how PseudoClass is supposed to work so I don't know if
this is considered a bug (*) in that class but I think that the browser
should non-pretty print the text if parsing fails.
David
* the i-var that wasn't in scopeTable was an i-var of a superclass of
the class that PseudoClass was "extending" but the class definition was
not in the file so PC would have to look at the existing class
definition to get its context correct for the extension supplied in the
file...I'm not sure if it is expected to go that far.
-------------- next part --------------
Error: Object is not in the collection.
25 February 2004 9:34:50 pm
VM: unix - a SmalltalkImage
Image: Squeak3.7alpha [latest update: #5707]
OrderedCollection(Object)>>error:
Receiver: an OrderedCollection(a WhiskerListItemMorph(619)'accessing' a WhiskerListItemMorph(578)'ad...etc...
Arguments and temporary variables:
aString: 'Object is not in the collection.'
Receiver's instance variables:
array: #(nil nil a WhiskerListItemMorph(619)'accessing' a WhiskerListItemMorph(578)'adding' a WhiskerListItemMor...etc...
firstIndex: 3
lastIndex: 9
OrderedCollection(Collection)>>errorNotFound:
Receiver: an OrderedCollection(a WhiskerListItemMorph(619)'accessing' a WhiskerListItemMorph(578)'ad...etc...
Arguments and temporary variables:
anObject: [] in MultiSelectHierarchicalListMorph>>selectByExpandingThroughColle...etc...
Receiver's instance variables:
array: #(nil nil a WhiskerListItemMorph(619)'accessing' a WhiskerListItemMorph(578)'adding' a WhiskerListItemMor...etc...
firstIndex: 3
lastIndex: 9
[] in OrderedCollection(Collection)>>detect: {[self errorNotFound: aBlock]}
Arguments and temporary variables:
aBlock: [] in MultiSelectHierarchicalListMorph>>selectByExpandingThroughCollect...etc...
OrderedCollection(Collection)>>detect:ifNone:
Receiver: an OrderedCollection(a WhiskerListItemMorph(619)'accessing' a WhiskerListItemMorph(578)'ad...etc...
Arguments and temporary variables:
aBlock: [] in MultiSelectHierarchicalListMorph>>selectByExpandingThroughCollect...etc...
exceptionBlock: [] in OrderedCollection(Collection)>>detect: {[self errorNotFound: aBlock]}...etc...
each: a WhiskerListItemMorph(299)'topological sort'
Receiver's instance variables:
array: #(nil nil a WhiskerListItemMorph(619)'accessing' a WhiskerListItemMorph(578)'adding' a WhiskerListItemMor...etc...
firstIndex: 3
lastIndex: 9
--- The full stack ---
OrderedCollection(Object)>>error:
OrderedCollection(Collection)>>errorNotFound:
[] in OrderedCollection(Collection)>>detect: {[self errorNotFound: aBlock]}
OrderedCollection(Collection)>>detect:ifNone:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OrderedCollection(Collection)>>detect:
[] in MultiSelectHierarchicalListMorph>>selectByExpandingThroughCollection: {[:eachItem | morph := siblings detect: [:itemMorph | itemMorph complexC...]}
OrderedCollection>>do:
MultiSelectHierarchicalListMorph>>selectByExpandingThroughCollection:
WhiskerWindow>>selectMethod:inClass:
WhiskerBrowser class>>openExistingBrowserOnClass:selector:
Browser class>>fullOnClass:selector:
FileContentsBrowser>>browseMethodFull
FileContentsBrowser(StringHolder)>>perform:orSendTo:
[] in MenuItemMorph>>invokeWithEvent: {[(selArgCount := selector numArgs) = 0 ifTrue: [target perform: selector] ...]}
BlockContext>>ensure:
CursorWithMask(Cursor)>>showWhile:
MenuItemMorph>>invokeWithEvent:
MenuItemMorph>>mouseUp:
MenuItemMorph>>handleMouseUp:
MouseButtonEvent>>sentTo:
MenuItemMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuItemMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuMorph(Morph)>>processEvent:using:
MenuMorph(Morph)>>processEvent:
MenuMorph>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self. ActiveEvent := anEvent. result := focusHolder han...]}
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h processEvents. h isGenieRecognizing ifTrue: [r...]}
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
|