"
COPYRIGHT (c) 1996-2011 by Claus Gittinger
This software is furnished under a license and may be used
only in accordance with the terms of that license and with the
inclusion of the above copyright notice. This software may not
be provided or otherwise made available to, or used by, any
other person. No title to or ownership of the software is
hereby transferred.
"
"{ Package: 'stx:libjava' }"
JavaDecompiler subclass:#JavaByteCodeEnumerator
instanceVariableNames:'literalAction'
classVariableNames:''
poolDictionaries:''
category:'Languages-Java-Support-Decompiling'
!
!JavaByteCodeEnumerator class methodsFor:'documentation'!
copyright
"
COPYRIGHT (c) 1996-2011 by Claus Gittinger
This software is furnished under a license and may be used
only in accordance with the terms of that license and with the
inclusion of the above copyright notice. This software may not
be provided or otherwise made available to, or used by, any
other person. No title to or ownership of the software is
hereby transferred.
"
! !
!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 / 17:21:18 / cg"
!
remember_invokeinterface
"/ self halt.
"Created: / 9.11.1999 / 17:20:58 / cg"
"Modified: / 9.11.1999 / 17:22:04 / cg"
!
remember_invokenonvirtual
"/ self halt.
"Created: / 9.11.1999 / 17:21:06 / cg"
"Modified: / 9.11.1999 / 17:21:51 / cg"
!
remember_invokestatic
"/ self halt.
"Modified: / 9.11.1999 / 17:22:00 / cg"
"Created: / 9.11.1999 / 17:22:14 / cg"
!
remember_invokevirtual
"/ self halt.
"Created: / 9.11.1999 / 17:21:08 / cg"
"Modified: / 9.11.1999 / 17:22:00 / cg"
! !
!JavaByteCodeEnumerator class methodsFor:'documentation'!
version
^ '$Header: /cvs/stx/stx/libjava/JavaByteCodeEnumerator.st,v 1.5 2011-11-24 10:29:24 cg Exp $'
!
version_SVN
^ '§Id: JavaByteCodeEnumerator.st,v 1.4 2011/08/18 18:42:48 vrany Exp §'
! !