Open up one of my explorers, and self at: #FileList yields - an IdentitySet(#Time #FileStream #FileDirectory #CRDisplayProperties #Preferences #Wonderland #OrderedCollection #FileList #ArchiveViewer #ProportionalLayout #StandardSystemView #View #StringHolder #BorderedSubpaneDividerMorph #PluggableListMorph #FillInTheBlank #ChangeSorter #PluggableButtonMorph #PluggableTextView #ZipArchive #PluggableButtonView #WonderlandEditor #SimpleServiceEntry #StandardFileMenu #WindowColorSpec #Date #AlignmentMorph #LayoutFrame #Cursor #Color #ParagraphEditor #Array #ChangeList #CRDictionary #String #WriteStream #SARInstaller #Clipboard #PluggableListView #PluggableTextMorph #FileContentsBrowser #SelectionMenu #SystemWindow #ServerDirectory)
Of which, at a glance, these I find hard to justify: - SARInstaller - ArchiveViewer - ZipArchive - CRDictionary - CRDisplayProperties - ChangeList - ChangeSorter - WonderlandEditor - Wonderland - FileContentsBrowser
<plug>It's really easy to get this sort of information using SpaghettiTracer. </plug>
Daniel
Stephane Ducasse ducasse@iam.unibe.ch wrote:
hi daniel
to have played a lot with SystemDictionary I think that it has too much responsibilities. The last time I checked I counted something as 8 different stuff. So this would be good to separate some of them. It also contains good like GifReaderClass which should be removed.
Then I was wondering why FileList still has all these references because it should have less than before?
# of referenced classes -> #ClassNames 127-> #Morph 107-> #SystemDictionary 85-> #PasteUpMorph 77-> #Project 73-> #Utilities 63-> #Object 55-> #ParagraphEditor 50-> #ImageSegment #TheWorldMenu 46-> #BookMorph 44-> #FileList #ChangeList 41-> #Preferences 40-> #Form #ServerDirectory #SmartRefStream #ChangeSet 39-> #Browser 37-> #CodeHolder 36-> #String #ChangeSorter #Debugger 34-> #FileContentsBrowser 33-> #FileList2 32-> #AbstractSound 31-> #Behavior 30-> #SystemWindow 29-> #MailMessage 28-> #TextMorph #Flaps
Full list (cutoff at 6 references, since that's meaningless)
127-> #Morph 107-> #SystemDictionary 85-> #PasteUpMorph 77-> #Project 73-> #Utilities 67-> #SyntaxMorph 66-> #Player 63-> #Object 55-> #ParagraphEditor 50-> #ImageSegment #TheWorldMenu 49-> #Celeste 46-> #WonderlandCameraMorph #BookMorph 45-> #WonderlandActor 44-> #FileList #ChangeList 41-> #Preferences 40-> #Form #ServerDirectory #SmartRefStream #ChangeSet 39-> #Browser #Wonderland 37-> #ScriptEditorMorph #CodeHolder 36-> #String #ChangeSorter #Scamper #Debugger 35-> #ScorePlayerMorph #Vocabulary #Lexicon 34-> #FileContentsBrowser 33-> #FlashMorphReader #FileList2 32-> #AbstractSound #ProcessBrowser 31-> #Behavior #StandardScriptingSystem 30-> #CategoryViewer #SystemWindow 29-> #EnvelopeEditorMorph #MailMessage #SuperSwikiServer 28-> #TextMorph #Flaps #ArchiveViewer #AudioChatGUI 27-> #MoviePlayerMorph #TileMorph #HTTPSocket #ClassDescription #StringHolder #ProjectViewMorph #Inspector 26-> #IRCConnection 25-> #InterpreterSimulator #EToySenderMorph #Parser #DataStream #EventRecorderMorph #DocLibrary #HandMorph #Presenter 24-> #InternalThreadNavigationMorph #ScreenController #ProjectLoading #ProjectNavigationMorph #NetworkTerminalMorph 23-> #WaveEditor #SelectorBrowser #PluggableFileList #CRDictionary 22-> #StackMorph #PaintBoxMorph #FlashPlayerMorph #CRDictionaryBrowser #MethodFinder #MailDB #StandardViewer #ResourceManager #PreferencesPanel #SketchMorph 21-> #StandardFileStream #WorldState #Color 20-> #PolygonMorph #FlapTab #CCodeGenerator #Text #ComplexProgressIndicator #HaloMorph 19-> #FlashFileReader #StandardSystemView #CompiledMethod #FileDirectory #Environment #Integer #InterpreterProxy #MessageSet 18-> #StrikeFont #MenuMorph #DigitalSignatureAlgorithm #ContextPart #EToyCommunicatorMorph #Collection #FileStream #RunArray #TextMorphEditor #FormEditor 17-> #ThreeDSParser #Encoder #PositionableStream #EToyChatMorph #CanvasDecoder #Pen #StarSqueakMorph #TMethod #SketchEditorMorph 16-> #CRDictionaryMorph #SecurityManager #ScriptInstantiation #EToyListenerMorph #SampledSound #SimpleButtonMorph #BitBlt #HTTPClient #FreeCell #TabbedPalette #PostscriptCanvas #CelesteComposition 15-> #SimpleClientSocket #VRMLStream #ZipWriteStream #ButtonProperties #StringMorph #SelectionMorph #JPEGReadWriter #MIDIFileReader #CRDisplayPropertiesInstanceBrowser #BitEditor #PseudoClass #SequenceableCollection #HtmlFormatter #CanvasEncoder #CRRecognizer #Class #Number #GenericPropertiesMorph 14-> #PluggableListMorph #URLMorph #Viewer #EToyMultiChatMorph #NewParagraph #BalloonEngine #ResourceCollector #PopUpMenu #GraphicalDictionaryMenu #SyntaxError #WonderlandCamera #EToyIncomingMessage #PluggableTextMorph #StringSocket #MessageTally #Paragraph #ReferenceMorph #BDFFontReader #ZipArchiveMember #CRAddFeatureMorph #EToyFridgeMorph #TextPlusMorph 13-> #ColorPickerMorph #TestTMethod #MenuItemMorph #DecompilerConstructor #B3DRenderEngine #PianoRollScoreMorph #SqueakPage #PhraseTileMorph #WordNet #CRDisplayPropertiesMorph #UpdatingStringMorph #FlashCodec #ClassBuilder #ProjectSorterMorph #Preference #TextPropertiesMorph #MessageNames #Socket #ChatNotes 12-> #ControlManager #CRStrokeFeature #NebraskaServerMorph #EToyVocabulary #B3DIndexedMesh #FancyCelesteComposition #IconicButton #CardPlayer #SimpleHierarchicalListMorph #ThreadNavigationMorph #HttpUrl #EToyProjectHistoryMorph #ScorePlayer #TCaseStmtNode #Dictionary #FormCanvas #EToyPeerToPeer #IndexFile #BookPageThumbnailMorph #TabSorterMorph #Url #WonderlandMesh #DialectParser #TextOnCurve #Base64MimeConverter #FMSound #ReferenceStream #FatBitsPaint #SystemVersion #SmallInteger #LineIntersections #ParseNode 11-> #StandardFileMenu #SampledInstrument #LoopedSampledSound #ColorForm #InputSensor #Transcripter #AutoStart #Interpreter #FreeCellBoard #B3DHardwareEngine #B3DSimpleMesh #B3DSimulRasterizer #ScrollBar #Rectangle #HTTPLoader #ObjectPropertiesMorph #TextDiffBuilder #PlayingCard #PointerFinder #PoohSubdivision #CompoundTileMorph #GeePrinter #MorphWorldView #MessageNode #FilePackage #SoundPlayer #B3DPrimitiveRasterizer #FillInTheBlankMorph #BitBltSimulation #Array #BlockContext #PackagePaneBrowser #PluggableCollectionMorph #ObjectsTool #WonderlandLightSource #AlignmentMorph 10-> #GraphMorph #VariableNode #SearchingViewer #SoundRecorder #RemoteHandMorph #BalloonCanvas #HtmlParser #ImageMorph #ClassCommentVersionsBrowser #Symbol #FileUrl #StringHolderView #StandardSystemController #PluggableButtonView #B3DSTriangleMesh #FormMenuView #FreeTranslation #MorphicModel #AllScriptsTool #MessageSend #NetNameResolver #Date #View #HtmlEntity #NebraskaServer #BouncingAtomsMorph #Time #EToyProjectRenamerMorph #MorphicEvent #Canvas #ComponentLikeModel #VersionsBrowser 9-> #MorphicTransform #NumericReadoutTile #HtmlTokenizer #GIFReadWriter #PoohTriangle #ZipArchive #PinMorph #ImageReadWriter #PortugueseLexiconServer #IndexFileEntry #Bitmap #TilePadMorph #Model #Command #B3DScanner #ExternalDropHandler #POPSocket #TimeProfileBrowser #WarpBlt #FillInTheBlankView #CharRecog #TranscriptStream #NebraskaClient #FTPSocket #SoundBuffer #WonderlandScene #DisplayScreen #BMPReadWriter #BorderedMorph #WonderlandWrapperMorph #AlansTextPlusMorph #SpeakerMorph #FlashSorterMorph 8-> #PartsBin #ThreePhaseButtonMorph #KeyboardMorphForInput #DisplayScanner #FlashButtonMorph #IRCDirectMessagesObserver #StringButtonMorph #TextPlusPasteUpMorph #AIFFFileReader #UndefinedObject #DisplayText #ProgressInitiationException #PluggableListView #InterpreterPlugin #MovieClipStartMorph #Compiler #UniclassScript #EToySystem #BooklikeMorph #SecureHashAlgorithm #ScrollController #DHtmlFormatter #MethodInterface #GradientFillStyle #Scanner #B3DMatrix4x4 #SARInstaller #EToyGenericDialogMorph #BraceNode #Component #GZipSurrogateStream #BalloonMorph #ScrollPane #ButtonPropertiesMorph #B3DIndexedTriangleMesh #GZipReadStream #TestCodeGenerator #SystemOrganizer #MIMEDocument #ClassOrganizer #ProjectHistory #TextStyle #StrokeSimplifier #DiskProxy #CrLfFileStream #RemoteString #GraphAnalyzer #BookPageSorterMorph #MethodNode #OrderedCollection #BorderStyle #WonderlandVerifier #DisplayObject 7-> #CustomMenu #PlayingCardDeck #CRDictionaryInstanceBrowser #ThumbnailMorph #GeePrinterDialogMorph #ListView #EToyGateKeeperEntry #FlashSpriteMorph #WeakRegistry #ShortRunArray #MethodHolder #DictionaryInspector #ObjectExplorer #IRCChannelListBrowser #StarSqueakTrees #ProtocolBrowser #ClassDiffBuilder #B3DIndexedQuadMesh #ComplexBorder #DoCommandOnceMorph #Point #AttributedTextStream #ListParagraph #MIDIControllerMorph #Password #Subdivision #AlignmentMorphBob1 #IndentingListItemMorph #FlashMorph #RemoteCanvas #DialectStream #TextContainer #NumberType #PluggableButtonMorph #SqueakPageCache #FreeCellStatistics #NewWorldWindow #TextURL #TextPrinter #SoundCodec #PianoKeyboardMorph #MailAddressParser #TextFieldMorph #SimpleSliderMorph #ChangeSetCategory #MethodContext #InflateStream #FFT #IRCChannelObserver #ChangeRecord #ObjectWithDocumentation #Decompiler #Metaclass #PlayingCardMorph #ReadWriteStream #BasicButton #FlashFileStream #TextComposer
Dr. Stéphane DUCASSE (ducasse@iam.unibe.ch) http://www.iam.unibe.ch/~ducasse/ "if you knew today was your last day on earth, what would you do different? ... especially if, by doing something different, today might not be your last day on earth" Calvin&Hobbes