Hi all,
I was just trying to file out a complex Object graph via #saveOnFile and found two problems with the SmartRefStream:
First, uniclass instances cannot be written to the stream. In SmartRefStream >> #instVarInfo:, I get an #errorKeyNotFound because the uniclass name is looked up into the SmalltalkImage globals. Minimum example to reproduce:
Object newSubclass new saveOnFile.
Second, blocks met during the file out process cannot be filed in again. Just try [] saveOnFile to reproduce this. Filein raises newMethodViaNewError. Maybe CompiledBlock should overwrite some streaming method for creating an appropriate disk representation?