[Pkg] The Trunk: Compiler-ar.141.mcz

commits at source.squeak.org commits at source.squeak.org
Mon May 17 01:25:35 UTC 2010


Andreas Raab uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-ar.141.mcz

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

Name: Compiler-ar.141
Author: ar
Time: 16 May 2010, 6:22:58.961 pm
UUID: 14b2de31-b380-394f-a25b-4679e7800c8c
Ancestors: Compiler-nice.140

Eliot's fix for http://bugs.squeak.org/view.php?id=7532. See discussion at http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-May/150688.html



=============== Diff against Compiler-nice.140 ===============

Item was changed:
  ----- Method: Encoder>>encodeVariable:sourceRange:ifUnknown: (in category 'encoding') -----
  encodeVariable: name sourceRange: range ifUnknown: action
  	| varNode |
+ 	varNode := scopeTable
+ 					at: name
+ 					ifAbsent: 
+ 						[(self lookupInPools: name 
+ 							ifFound: [:assoc | varNode := self global: assoc name: name])
+ 							ifTrue: [varNode]
+ 							ifFalse: [^action value]].
+ 	range ifNotNil:
+ 		[name first canBeGlobalVarInitial ifTrue:
+ 			[globalSourceRanges addLast: { name. range. false }]].
- 	varNode := scopeTable at: name
- 			ifAbsent: 
- 				[(self lookupInPools: name 
- 					ifFound: [:assoc | varNode := self global: assoc name: name])
- 					ifTrue: [varNode]
- 					ifFalse: [^action value]].
- 	range ifNotNil: [
- 		name first canBeGlobalVarInitial ifTrue:
- 			[globalSourceRanges addLast: { name. range. false }]. ].
  
+ 	(varNode isTemp and: [varNode scope < 0]) ifTrue:
+ 		[^OutOfScopeNotification signal
+ 			ifTrue: [action value]
+ 			ifFalse: [self notify: 'out of scope']].
+ 	^varNode!
- 	(varNode isTemp and: [varNode scope < 0]) ifTrue: [
- 		OutOfScopeNotification signal ifFalse: [ ^self notify: 'out of scope'].
- 	].
- 	^ varNode!



More information about the Packages mailing list