Has anyone gotten rST (remote smalltalk framework) to work with Squeak
4.1? The latest packages load, but the sample client code dies
immediately with aMessageNotUnderstood ByteString>>aslpString
I can bypass that with a hardcoded URL, but then I get into issues with
RSTRemoteBojectProxy and RSTBroker that I don't understand at all.
http://www.squeaksource.com/rST.html
Thanks.
Lawson
Nicolas Cellier uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-nice.183.mcz
==================== Summary ====================
Name: Compiler-nice.183
Author: nice
Time: 29 December 2010, 3:54:57.862 pm
UUID: 228c16fb-1ba3-407c-84fd-d5722ca2be2f
Ancestors: Compiler-ul.182
Cosmetic: rename two shadowing temps in order to avoid warnings in Transcript
=============== Diff against Compiler-ul.182 ===============
Item was changed:
----- Method: BytecodeEncoder>>blockExtentsToTempsMap (in category 'temps') -----
blockExtentsToTempsMap
"Answer a Dictionary of blockExtent to temp locations for the current method.
This is used by the debugger to locate temp vars in contexts. A temp map
entry is a pair of the temp's name and its index, where an index is either an
integer for a normal temp or a pair of the index of the indirect temp vector
containing the temp and the index of the temp in its indirect temp vector."
| blockExtentsToTempsMap |
blockExtentsToLocals ifNil:
[^nil].
blockExtentsToTempsMap := Dictionary new.
blockExtentsToLocals keysAndValuesDo:
[:blockExtent :locals|
blockExtentsToTempsMap
at: blockExtent
put: (Array streamContents:
+ [:aStream|
- [:stream|
locals withIndexDo:
[:local :index|
local isIndirectTempVector
ifTrue: [local remoteTemps withIndexDo:
+ [:remoteLocal :innerIndex| aStream nextPut: { remoteLocal key. { index. innerIndex } }]]
+ ifFalse: [aStream nextPut: { local key. index }]]])].
- [:remoteLocal :innerIndex| stream nextPut: { remoteLocal key. { index. innerIndex } }]]
- ifFalse: [stream nextPut: { local key. index }]]])].
^blockExtentsToTempsMap!
Item was changed:
----- Method: VariableNode>>variableGetterBlockIn: (in category 'tiles') -----
variableGetterBlockIn: aContext
+ | temps tempIndex ivars |
- | temps index ivars |
(self type = 4 and: [self key isVariableBinding]) ifTrue: [
^[self key value]
].
aContext ifNil: [^nil].
self isSelfPseudoVariable ifTrue: [^[aContext receiver]].
self type = 1 ifTrue: [
ivars := aContext receiver class allInstVarNames.
+ tempIndex := ivars indexOf: self name ifAbsent: [^nil].
+ ^[aContext receiver instVarAt: tempIndex]
- index := ivars indexOf: self name ifAbsent: [^nil].
- ^[aContext receiver instVarAt: index]
].
self type = 2 ifTrue: [
temps := aContext tempNames.
+ tempIndex := temps indexOf: self name ifAbsent: [^nil].
+ ^[aContext tempAt: tempIndex]
- index := temps indexOf: self name ifAbsent: [^nil].
- ^[aContext tempAt: index]
].
^nil
!
Nicolas Cellier uploaded a new version of CollectionsTests to project The Trunk:
http://source.squeak.org/trunk/CollectionsTests-nice.178.mcz
==================== Summary ====================
Name: CollectionsTests-nice.178
Author: nice
Time: 29 December 2010, 3:51:12.599 pm
UUID: d84311fa-3a9c-4fa6-b0b4-10927f21f3f1
Ancestors: CollectionsTests-ul.177
Test integer equality with = rather than ==
=============== Diff against CollectionsTests-ul.177 ===============
Item was changed:
----- Method: IntervalTest>>testPermutationsDo (in category 'tests') -----
testPermutationsDo
| i oc |
i := (1.234 to: 4.234).
oc := OrderedCollection new.
i permutationsDo: [:e | oc add: e].
+ self assert: (oc size = i size factorial).
- self assert: (oc size == i size factorial).
^ oc!