Open dalehenrich opened 3 years ago
The first compile is trying to compile as an instance method in Undefined object.
In frame 3 , receiver is UndefinedObject. If the args to intoMethodDict: and intoCategories:
are each ` GsMethodDictionary new
then you could have the receiver be the actual class but not update the method dictionaries .
1 Behavior >> _primCompileMethod:symbolList:category:oldLitVars:intoMethodDict:intoCategories:environmentId: @startIP [GsNMethod 3461377] FP:-117 2 Behavior >> _primitiveCompileMethod:symbolList:category:oldLitVars:intoMethodDict:intoCategories:environmentId: @natCode+0x2b2 [GsNMethod 3462657] FP:-103 3 Behavior >> compileMethod:dictionaries:category:intoMethodDict:intoCategories:environmentId: @natCode+0xdc [GsNMethod 3908865] FP:-91 4 (block, homeMethod:66694913) @natCode+0x235 [GsNMethod 71565057] FP:-80 5 ExecBlock >> onSynchronous:do: @natCode+0xcb [GsNMethod 5659649] FP:-74 6 RwGsPlatform >> _parseMethod:category:using:environmentId: @natCode+0x456 [GsNMethod 66694913] FP:-65 7 Behavior >> _rwCompileMethodForConditionalPackaging:symbolList:category:environmentId:ifUnpackagedDo: @natCode+0x15c [GsNMethod 49983489] FP:-52 8 Behavior >> compileMethod:dictionaries:category:environmentId: @natCode+0x8ea [GsNMethod 102563585] FP:-37 9 (block, homeMethod:102564609) @natCode+0x18e [GsNMethod 103283969] FP:-28 10 ExecBlock >> onException:do: @natCode+0xcb [GsNMethod 5660929] FP:-22 11 Behavior >> _gciCompileMethod:dictionaries:category:environmentId: @natCode+0x1f1 [GsNMethod 102564609] FP:-15 12 GsNMethod class >> _gsReturnToC @natCode+0x28 [GsNMethod 5483521] FP:-3 stack 0 GsProcess 20 modeInfo 0x300
The compile in the following topaz sequence calls the compiler 3 times:
It probbly should only be twice: