Cleaning the image

Diego Gomez Deck DiegoGomezDeck at ConsultAr.com
Wed Sep 26 23:18:47 UTC 2001


With this code:

ProtoObject allSubclassesDo:[:class |
         class selectors do:[:selector |
                 | currentMethod superMethod |
                 currentMethod _ class compiledMethodAt:selector.
                 superMethod _ class superclass lookupSelector:selector.

                 currentMethod = superMethod
                         ifTrue:[Transcript
                                         show:class;
                                         show:'>>';
                                         show:selector;
                                         cr]
         ]
]

You can find all methods that are not necessary because there is one equals 
in the superclass chain.

The list in an empty image with all the updates is:
Object>>cannotInterpret:
UndefinedObject>>doIfNotNil:
FillStyle>>isTransparent
BitmapFillStyle>>isTranslucent
GradientFillStyle>>isSolidFill
ScrollController>>isControlWanted
PluggableTextController>>changeText:
PluggableTextController>>userHasEdited
View>>update:
Association>>isVariableBinding
Model>>perform:orSendTo:
StringHolder>>contentsChanged
Inspector>>trash
Inspector>>trash:
InspectorBrowser>>wantsSteps
Debugger>>selectedMessageCategoryName
Player>>scriptPerformer
Player>>categoriesForViewer:
Player>>universalTilesForInterface:
ObjectExplorer>>trash:
ObjectExplorer>>trash
Color>>isTransparent
String>>newTileMorphRepresentative
Symbol>>isLiteral
B3DInplaceArray>>copyFrom:to:
Interval>>copy
SourceFileArray>>collect:
Dictionary>>hasContentsInExplorer
WeakKeyDictionary>>scanFor:
WeakSet>>size
SkipList>>remove:
ReadStream>>binary
WriteStream>>flush
ReadWriteStream>>close
RWBinaryOrTextStream>>contentsOfEntireFile
StandardFileStream>>verbatim:
DummyStream>>binary
DummyStream>>close
B3DVertexRasterizer>>flush
PluggableFileList class>>new
FileList2 class>>new
UnscriptedPlayer class>>acceptsLoggingOfCompilation
Component class>>acceptsLoggingOfCompilation
TTCompositeGlyph class>>new
B3DRenderEngine class>>new
Oop class>>ccg:generateCoerceToValueFrom:on:
Oop class>>ccg:generateCoerceToOopFrom:on:
Oop class>>ccgDeclareCForVar:
PlayWithMe1 class>>includeInNewMorphMenu
Player7 class>>includeInNewMorphMenu
EToyGateKeeperEntry class>>includeInNewMorphMenu
ScriptableButton class>>defaultNameStemForInstances
TextMorph class>>includeInNewMorphMenu
ViewerFlapTab class>>includeInNewMorphMenu
JoystickMorph class>>authoringPrototype
LedTimerMorph class>>includeInNewMorphMenu
X11Display class>>fields
VRMLGenericNode class>>fromSpec:
ImageSegment class>>shutDown
SwikiAction>>process:MIMEtype:
RenderingSwikiAction>>pageURL:
ScorePlayer>>isPlaying
FlashMorphReader>>recordMorph:depth:ratio:
FlashMorphReader>>recordEndButton:
DisplayObject>>isTransparent
ColorForm>>displayOn:at:clippingBox:rule:fillColor:
ContextPart>>pc
HtmlTitle>>isHeadElement
Morph>>defaultNameStemForInstances
MatrixTransformMorph>>visible
MatrixTransformMorph>>isFlexMorph
FlashShapeMorph>>id
ThreePhaseButtonMorph>>extent
MovieClipStartMorph>>nextSyncEventAfter:inTrack:
MenuItemMorph>>minHeight
MorphicModel>>instanceVariableValues
PluggableListMorph>>wantsKeyboardFocusFor:
PluggableListMorphOfMany>>mouseEnterDragging:onItem:
PluggableListMorphOfMany>>mouseUp:onItem:
PluggableListMorphOfMany>>mouseDown:onItem:
SystemWindow>>wantsHaloFromClick
ChatButtonMorph>>setDefaultLabel
FillInTheBlankMorph>>perform:orSendTo:
ZASMCameraMarkMorph>>resetFrom:
ColorSeerTile>>updateLiteralLabel
NumericReadoutTile>>handlesMouseStillDown:
TextMorphForEditView>>handlesKeyboard:
StringMorphEditor>>handlesKeyboard:
FlapTab>>isCurrentlyGraphical
GeeBookPageMorph>>handlesMouseDown:
BookPageThumbnailMorph>>resumeFrom:
BookPageThumbnailMorph>>justDroppedIntoPianoRoll:event:
BookPageThumbnailMorph>>pauseFrom:
BookPageThumbnailMorph>>addMorphsTo:pianoRoll:eventTime:betweenTime:and:
BookPageThumbnailMorph>>resetFrom:
HtmlToken>>isText
FormCanvas>>translateBy:clippingTo:during:
BalloonCanvas>>drawPolygon:color:borderWidth:borderColor:
NullCanvas>>isBalloonCanvas
NullCanvas>>isShadowDrawing
NullCanvas>>apply:
BufferedCanvas>>apply:
PostscriptCanvas>>point:color:
MessageNotUnderstood>>receiver
VRMLGenericNode>>printOn:indent:
VRMLGenericNode>>nodeSpec
StrikeFont>>widthOfString:
StrikeFont>>composeWord:in:beginningAt:
MouseEvent>>position
TestTMethod>>removeFinalSelfReturn
ZipArchiveMember>>fileName
ZipFileMember>>asDirectory
ParseNode>>isLiteral
MessageNode>>pc
MessageAsTempNode>>nowHasDef
MessageAsTempNode>>nowHasRef

I think that most all are safe to remove, but I'm not sure en classes like 
Object, UndefinedObject that can be used by the compiler in a special way.

Cheers,

Diego Gomez Deck

PS: I can send a changeset is it is useful. 





More information about the Squeak-dev mailing list