JavaByteCodeEnumerator.st
changeset 621 6d134ca834c5
child 625 b0d1764545b5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JavaByteCodeEnumerator.st	Tue Nov 09 14:57:16 1999 +0000
@@ -0,0 +1,69 @@
+JavaDecompiler subclass:#JavaByteCodeEnumerator
+	instanceVariableNames:'literalAction'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Java-Support-Decompiling'
+!
+
+
+!JavaByteCodeEnumerator methodsFor:'accessing'!
+
+literalAction
+    "return the value of the instance variable 'literalAction' (automatically generated)"
+
+    ^ literalAction
+
+    "Created: / 9.11.1999 / 15:27:37 / cg"
+!
+
+literalAction:something
+    "set the value of the instance variable 'literalAction' (automatically generated)"
+
+    literalAction := something.
+
+    "Created: / 9.11.1999 / 15:27:37 / cg"
+! !
+
+!JavaByteCodeEnumerator methodsFor:'operand decoding'!
+
+constIndexByte
+    lastConstIndex := code at:pc.
+    pc := pc + 1.
+
+    lastConstant := javaMethod constantPool at:lastConstIndex ifAbsent:nil.
+    literalAction notNil ifTrue:[
+        literalAction value:pc-2 value:lastConstIndex value:lastConstant
+    ].
+
+    "Created: / 9.11.1999 / 15:26:42 / cg"
+    "Modified: / 9.11.1999 / 15:29:24 / cg"
+!
+
+constIndexShort
+    lastConstIndex := code wordAt:pc MSB:true.
+    pc := pc + 2.
+
+    lastConstant := javaMethod constantPool at:lastConstIndex ifAbsent:nil.
+
+    literalAction notNil ifTrue:[
+        literalAction value:pc-3 value:lastConstIndex value:lastConstant
+    ].
+
+    "Created: / 9.11.1999 / 15:27:32 / cg"
+    "Modified: / 9.11.1999 / 15:29:31 / cg"
+! !
+
+!JavaByteCodeEnumerator methodsFor:'processing'!
+
+instructionHookPC:pc op:op spec:spec
+"/    self halt.
+
+    "Created: / 9.11.1999 / 15:35:39 / cg"
+    "Modified: / 9.11.1999 / 15:36:49 / cg"
+! !
+
+!JavaByteCodeEnumerator class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaByteCodeEnumerator.st,v 1.1 1999/11/09 14:57:16 cg Exp $'
+! !