[squeak-dev] The Trunk: Compiler-mt.462.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Nov 18 09:45:53 UTC 2021


Marcel Taeumel uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-mt.462.mcz

==================== Summary ====================

Name: Compiler-mt.462
Author: mt
Time: 18 November 2021, 10:45:52.7882 am
UUID: 21edd0e3-4506-c14d-a46b-010f38d5bf0e
Ancestors: Compiler-eem.461

Complements Kernel-mt.1422

=============== Diff against Compiler-eem.461 ===============

Item was changed:
  ----- Method: MessageNode>>transformCase: (in category 'macro transformations') -----
  transformCase: encoder
  
  	| caseNode |
  	caseNode := arguments first.
  	(caseNode isMemberOf: BraceNode) ifFalse: [^false].
  	(caseNode blockAssociationCheck: encoder) ifFalse: [^false].
  	(arguments size = 1
+ 	 or: [self checkBlock: arguments last as: 'otherwise arg' from: encoder maxArgs: 1]) ifFalse:
- 	 or: [self checkBlock: arguments last as: 'otherwise arg' from: encoder maxArgs: 0]) ifFalse:
  		[^false].
  	 caseNode elements do:
  		[:messageNode |
  		messageNode receiver noteOptimizedIn: self.
  		messageNode arguments first noteOptimizedIn: self].
  	 arguments size = 2 ifTrue:
+ 		[| otherwiseBlock |
+ 		otherwiseBlock := arguments last noteOptimizedIn: self.
+ 		otherwiseBlock numberOfArguments = 1 ifTrue:
+ 			[receiver := AssignmentNode new
+ 				variable: otherwiseBlock firstArgument
+ 				value: receiver.
+ 			encoder noteSourceRange: (encoder sourceRangeFor: self) forNode: receiver]].
- 		[arguments last noteOptimizedIn: self].
  	 ^true!



More information about the Squeak-dev mailing list