Squeak/Pharo haben eine spezielle Behandlung bei fehlendem Quellcode: sie versuchen CompiledMethod aus dem entsprechenden MethodDictionary zu dekompilieren.
Was Sie hier gesehen haben, ist ein Fehler von Decompiler, einige Methoden ordnungsgemäß zu dekompilieren.
Ohne Code ist der IDE nicht funktionsfähig, und Sie sind fest (Sie nicht, Ihren Code speichern, durchsuchen Sie Ihren Code, Debug-Code ...)
Diese Pharo Version 1.1 sehr alt sind und Sie Ich werde keine Unterstützung bekommen.
Aber interessant, die Fehler von Decompiler, die Sie immer noch vorhanden angetroffen werden, sind auf dem gegenwärtigen Squeak Stamm Entwicklung (4.5)
Und die Methode, die die Decompiler loosy macht, ist:
< aNumberWithUnits
(self compareUnits: aNumberWithUnits)
ifTrue: [self value: ((aNumberWithUnits value) < (self value) ifTrue: [^true] ifFalse: [^false]).]
ifFalse: [^Error new signal: 'Incompatible unit types.'].
Dies ist ein eher unkonventioneller Code seit die Nachricht [self value: ...]
wird nie gesendet werden.
Der Grund ist, dass der Parameter zuerst ausgewertet wird und beide Zweige der Bedingung ifTrue: [^true] ifFalse: [^false]
zurückgeben.
Da Sie eine dunkle Ecke erkundet haben, die nur Neulinge erkunden, und die wir nicht testen konnten, würde ich nur Danke sagen.
Wenn Sie es Lust haben, können Sie einen Bericht über http://bugs.squeak.org
Aus dem Bild öffnen kann, sieht es wie ein Quietschen 4.x Geschmack.Welche Version genau? Es sieht wie ein Bug aus, also musst du den Stack wahrscheinlich löschen und in die squeak-dev-Mailingliste schreiben (oder ein Mantis-Problem öffnen). –
Schöner Bug finden !! –