On Sep 1, 2020, at 3:14 AM, Thiede, Christoph <Christoph.Thiede@student.hpi.uni-potsdam.de> wrote:
My guess is that class side code in CompiledMethod should be moved up to CompiledCode, the common superclass of CompiledMethod and CompiledBlock.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?