--- a/Decompiler.st Wed Oct 13 01:25:45 1993 +0100
+++ b/Decompiler.st Wed Oct 13 01:26:26 1993 +0100
@@ -19,12 +19,12 @@
Decompiler comment:'
-COPYRIGHT (c) 1991-92 by Claus Gittinger
+COPYRIGHT (c) 1991-93 by Claus Gittinger
All Rights Reserved
additional methods for decompilation
-%W% %E%
+$Header: /cvs/stx/stx/libcomp/Decompiler.st,v 1.2 1993-10-13 00:25:43 claus Exp $
'!
!Decompiler class methodsFor:'decompiling'!
@@ -82,6 +82,34 @@
Transcript show:')'
!
+showAbsOffset:byte
+ |offs b2|
+
+ index := index + 1.
+ b2 := (bytes at:index).
+ offs := byte + (b2 bitShift:8).
+ index := index + 1.
+ Transcript show:offs printString.
+ Transcript show:' ('.
+ Transcript show:offs printString.
+ Transcript show:')'
+!
+
+showAbsOffsetLevel:byte
+ |offs b2|
+
+ index := index + 1.
+ b2 := (bytes at:index).
+ offs := byte + (b2 bitShift:8).
+ index := index + 1.
+ Transcript show:offs printString.
+ Transcript show:' ('.
+ Transcript show:offs printString.
+ Transcript show:')'.
+ self showNvarNargsAt:index.
+ index := index + 2
+!
+
showNvarNargsAt:index
Transcript show:' nv='.
Transcript show:(bytes at:index) printString.
@@ -129,7 +157,8 @@
Transcript show:byte printString.
Transcript show:' '.
index := index + 1.
- self showLiteralAt:index
+ self showLiteralAt:index.
+ index := index + 1
!
showSuperSendArgs:byte
@@ -137,6 +166,8 @@
Transcript show:' '.
index := index + 1.
self showLiteralAt:index.
+ index := index + 1.
+ self showLiteralAt:index.
index := index + 1
!
@@ -150,6 +181,12 @@
index := index + 1
!
+showIndexLevel:byte
+ self showIndex:byte.
+ self showNvarNargsAt:index.
+ index := index + 2
+!
+
showNumber:byte
Transcript show:byte printString.
index := index + 1
@@ -312,10 +349,10 @@
storeMethodVar4
storeMethodVar5
storeMethodVar6 " 105 "
- nil
- nil
- nil
- nil
+ sendY
+ sendX
+ sendWidth
+ sendHeight
storeInstVar1 " 110 "
storeInstVar2
storeInstVar3
@@ -345,7 +382,7 @@
sendATPUT
sendBitAnd
sendBitOr
- nil
+ push2
pushBlockArg1 " 140 "
pushBlockArg2
pushBlockArg3
@@ -394,6 +431,18 @@
sendSelfDrop1 " 185 "
sendSelfDrop2
sendSelfDrop3
+ nil
+ nil
+ falseJumpAbs " 190 "
+ trueJumpAbs
+ nilJumpAbs
+ notNilJumpAbs
+ jumpAbs
+ makeBlockAbs " 195 "
+ zeroJumpAbs
+ notZeroJumpAbs
+ eqJumpAbs
+ notEqJumpAbs " 199 "
).
lnos := #( false " 0 "
@@ -576,14 +625,26 @@
false
false
false
- true " 180 "
+ true " 180 "
true
true
true
true
- true " 185 "
+ true " 185 "
true
true
+ false
+ false
+ false " 190 "
+ false
+ false
+ false
+ false
+ false " 195 "
+ false
+ false
+ false
+ false " 199 "
).
extras := #(nil " 0 "
@@ -774,6 +835,18 @@
literal " 185 "
literal
literal
+ nil
+ nil
+ absOffset " 190 "
+ absOffset
+ absOffset
+ absOffset
+ absOffset
+ absOffsetLevel
+ absOffset
+ absOffset
+ absOffset
+ absOffset " 199 "
).
extra := extras at:(aByte + 1).