[Q] MCP - Messages sent but not implemented

German Morales germanmorales at delta-sys.com
Wed Mar 5 03:43:11 UTC 2003


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