A question arose in Discord regarding #basicNew, to which I felt like the
proper answer should be
that #basicNew is used only** from the class-side when making custom
initializers.
(**excepting special meta-handling like by Behaviour)
This philosophy is somewhat supported by...
(#basicNew senders select: [:sender | sender methodClass isMeta]) count
==> 264
but there are also counter examples...
(#basicNew senders select: [:sender | sender methodClass isMeta] not) count
==> 76.
like these...
Example1 -- DAPackageRelationGraph>>addMessageSendDependencies: aPackage
analyser := DAMessageSendAnalyzer basicNew initializeWith: aPackage;
yourself.
Example 2 -- FreeTypeFontProvider>>#updateFromFile: aFile
face := FreeTypeFace basicNew fileContentsExternalMemory: externalMem
.
Example 3 -- HandMorph>>#moveToEvent: anEvent
self handleEvent: (MouseMoveEvent basicNew
setType: #mouseMove
startPoint: self position
endPoint: anEvent position
trail: (Array with: self position with: anEvent position)
buttons: anEvent buttons
hand: self
stamp: anEvent timeStamp)
Should we be pushing these sort of basicNew + instance-side-method-call
to the class side? Or do I have the wrong end of the stick?
cheers -ben