Eliot Miranda uploaded a new version of Compiler to project The Trunk: http://source.squeak.org/trunk/Compiler-eem.442.mcz
==================== Summary ====================
Name: Compiler-eem.442 Author: eem Time: 2 October 2020, 12:24:11.925015 pm UUID: b9e6bdcf-95df-433b-8bbb-b2168a1e8a90 Ancestors: Compiler-pre.441
Make sure that the default return value of a doit is self, not nil.
=============== Diff against Compiler-pre.441 ===============
Item was changed: ----- Method: Parser>>method:context: (in category 'expression types') ----- method: doit context: ctxt " pattern [ | temporaries ] block => MethodNode."
| sap blk prim temps messageComment methodNode | sap := self pattern: doit inContext: ctxt. "sap={selector, arguments, precedence}" self properties selector: (sap at: 1). encoder selector: (sap at: 1). (sap at: 2) do: [:argNode | argNode beMethodArg]. doit ifFalse: [self pragmaSequence]. temps := self temporaries. messageComment := currentComment. currentComment := nil. doit ifFalse: [self pragmaSequence]. prim := self pragmaPrimitives. + self statements: #() innerBlock: false blockNode: BlockNode new. - self statements: #() innerBlock: doit. blk := parseNode. doit ifTrue: [blk returnLast] ifFalse: [blk returnSelfIfNoOther: encoder]. hereType == #doIt ifFalse: [^self expected: 'Nothing more']. methodNode := self newMethodNode comment: messageComment. methodNode selector: (sap at: 1) arguments: (sap at: 2) precedence: (sap at: 3) temporaries: temps block: blk encoder: encoder primitive: prim properties: properties. self interactive ifTrue: [self declareUndeclaredTemps: methodNode. self removeUnusedTemps: methodNode]. ^methodNode!
squeak-dev@lists.squeakfoundation.org