[Q] MCP - Messages sent but not implemented

diegogomezdeck at consultar.com diegogomezdeck at consultar.com
Wed Mar 5 13:53:45 UTC 2003


German, did you receive any answer?

Diego

> Hi everybody,
>
> Following the 1st step in the Morph Cleaning Project (small SLint
> suggested refactorings), I was trying the "Messages sent but not
> implemented" SLint rule only on Morph.
>
> I came across some interesting results, for example things that
> shouldn't work as they are, or perhaps work but only on some Morph
> subclasses or given some context.
>
> I'm interested in comments from experienced people on why this things
> are implemented this way - perhaps there are obscure reasons out of my
> reach.
>
> Here is the list:
>
> #addStandardHaloMenuItemsTo:hand:
> sends: #addWorldHaloMenuItemsTo:hand:
> which is defined in: PasteUpMorph
> comment: checks for #isWorldMorph before sending
> solution: move part to PasteUpMorph and call super
>
> #beThisWorldsModel
> sends: #model:slotName:
> which is defined in: MorphicModel
> comment: checks for #isMorphicModel before sending
> solution: move beThisWorldsModel to MorphicModel; add some mechanism to
> #buildMetaMenu: so subclasses can add menu options. the menu options
> will probably be mixed.
>
> #buildDebugMenu:
> sends: #model
> which is defined in: MorphicModel
> comment: checks for #isMorphicModel before sending
> solution: add some mechanism to #buildDebugMenu: so subclasses can add
> menu options. the menu options will probably be mixed.
>
> #chooseNewGraphicCoexisting:
> sends: #form
> which is defined in: some Morph subclasses
> comment: doesn't work for some Morph subclasses
> solution: welcome
>
> #choosePartName
> sends: #nameMeIn: #renameMe
> which are defined in: Component, ComponentLikeModel
> comment: checks for #self world model isKindOf: Component before
> sending solution: welcome
>
> #convertAugust1998:using:
> sends: #bePossessive
> which is defined in: TileMorph
> comment: checks for key == #possessive before sending
> solution: welcome
>
> #enforceTileColorPolicy
> sends: #coloredTilesEnabled
> which is defined in: nowhere
> comment: relies on #doesNotUnderstand and #valueOfFlag:
> solution: not needed
>
> #removeAlarm:at:
> sends: #removeAlarm:at:for:
> which is defined in: nowhere
> comment: it shouldn't work
> solution: welcome
>
> #showActions
> sends: #actionSelector
> which is defined in: various Morph subclasses
> comment: checks if respondsTo: #actionSelector before sending
> solution: not needed
>
> #specialNameInModel
> sends: #slotName
> which is defined in: MorphicModel and others
> comment: checks for #isMorphicModel before sending
> solution: move part to MorphicModel and call super
>
> #undoMove:redo:owner:bounds:predecessor:
> sends: #activate
> which is defined in: SystemWindow
> comment: checks for #isSystemWindow before sending
> solution: move part to SystemWindow and call super
>
>
> Thanks in advance,
>
> German Morales





More information about the Squeak-dev mailing list