The Trunk: Compiler-ar.141.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Compiler-ar.141.mcz

commits-2
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!