fr.umlv.corosol.component.instruction.impl
Class AStore_1

java.lang.Object
  extended by fr.umlv.corosol.component.instruction.impl.AStore_1
All Implemented Interfaces:
JInstruction, JInstruction.AStore_1, JObject, JVMComponent

public class AStore_1
extends java.lang.Object
implements JInstruction.AStore_1

The implementation of the astore_1 instruction.

Author:
Christophe Deleray

Nested Class Summary
 
Nested classes/interfaces inherited from interface fr.umlv.corosol.component.instruction.JInstruction
JInstruction.AALoad, JInstruction.AAStore, JInstruction.AConst_Null, JInstruction.ALoad, JInstruction.ALoad_0, JInstruction.ALoad_1, JInstruction.ALoad_2, JInstruction.ALoad_3, JInstruction.ANewArray, JInstruction.AReturn, JInstruction.ArrayLength, JInstruction.AStore, JInstruction.AStore_0, JInstruction.AStore_1, JInstruction.AStore_2, JInstruction.AStore_3, JInstruction.AThrow, JInstruction.BALoad, JInstruction.BAStore, JInstruction.BIPush, JInstruction.CALoad, JInstruction.CAStore, JInstruction.CheckCast, JInstruction.D2F, JInstruction.D2I, JInstruction.D2L, JInstruction.DAdd, JInstruction.DALoad, JInstruction.DAStore, JInstruction.DCmpG, JInstruction.DCmpL, JInstruction.DConst_0, JInstruction.DConst_1, JInstruction.DDiv, JInstruction.DLoad, JInstruction.DLoad_0, JInstruction.DLoad_1, JInstruction.DLoad_2, JInstruction.DLoad_3, JInstruction.DMul, JInstruction.DNeg, JInstruction.DRem, JInstruction.DReturn, JInstruction.DStore, JInstruction.DStore_0, JInstruction.DStore_1, JInstruction.DStore_2, JInstruction.DStore_3, JInstruction.DSub, JInstruction.Dup, JInstruction.Dup_X1, JInstruction.Dup_X2, JInstruction.Dup2, JInstruction.Dup2_X1, JInstruction.Dup2_X2, JInstruction.F2D, JInstruction.F2I, JInstruction.F2L, JInstruction.FAdd, JInstruction.FALoad, JInstruction.FAStore, JInstruction.FCmpG, JInstruction.FCmpL, JInstruction.FConst_0, JInstruction.FConst_1, JInstruction.FConst_2, JInstruction.FDiv, JInstruction.FLoad, JInstruction.FLoad_0, JInstruction.FLoad_1, JInstruction.FLoad_2, JInstruction.FLoad_3, JInstruction.FMul, JInstruction.FNeg, JInstruction.FRem, JInstruction.FReturn, JInstruction.FStore, JInstruction.FStore_0, JInstruction.FStore_1, JInstruction.FStore_2, JInstruction.FStore_3, JInstruction.FSub, JInstruction.GetField, JInstruction.GetStatic, JInstruction.Goto, JInstruction.Goto_W, JInstruction.I2B, JInstruction.I2C, JInstruction.I2D, JInstruction.I2F, JInstruction.I2L, JInstruction.I2S, JInstruction.IAdd, JInstruction.IALoad, JInstruction.IAND, JInstruction.IAStore, JInstruction.IConst_0, JInstruction.IConst_1, JInstruction.IConst_2, JInstruction.IConst_3, JInstruction.IConst_4, JInstruction.IConst_5, JInstruction.IConst_M1, JInstruction.IDiv, JInstruction.IfACmpEq, JInstruction.IfACmpNE, JInstruction.IfEq, JInstruction.IfGE, JInstruction.IfGT, JInstruction.IfICmpEq, JInstruction.IfICmpGE, JInstruction.IfICmpGT, JInstruction.IfICmpLE, JInstruction.IfICmpLT, JInstruction.IfICmpNE, JInstruction.IfLE, JInstruction.IfLT, JInstruction.IfNE, JInstruction.IfNonNull, JInstruction.IfNull, JInstruction.IInc, JInstruction.ILoad, JInstruction.ILoad_0, JInstruction.ILoad_1, JInstruction.ILoad_2, JInstruction.ILoad_3, JInstruction.IMul, JInstruction.INeg, JInstruction.InstanceOf, JInstruction.InvokeInterface, JInstruction.InvokeSpecial, JInstruction.InvokeStatic, JInstruction.InvokeVirtual, JInstruction.IOR, JInstruction.IRem, JInstruction.IReturn, JInstruction.IShL, JInstruction.IShR, JInstruction.IStore, JInstruction.IStore_0, JInstruction.IStore_1, JInstruction.IStore_2, JInstruction.IStore_3, JInstruction.ISub, JInstruction.IUShR, JInstruction.IXOR, JInstruction.JSR, JInstruction.JSR_W, JInstruction.L2D, JInstruction.L2F, JInstruction.L2I, JInstruction.LAdd, JInstruction.LALoad, JInstruction.LAND, JInstruction.LAStore, JInstruction.LCmp, JInstruction.LConst_0, JInstruction.LConst_1, JInstruction.LdC, JInstruction.LdC_W, JInstruction.LdC2_W, JInstruction.LDiv, JInstruction.LLoad, JInstruction.LLoad_0, JInstruction.LLoad_1, JInstruction.LLoad_2, JInstruction.LLoad_3, JInstruction.LMul, JInstruction.LNeg, JInstruction.LookupSwitch, JInstruction.LOR, JInstruction.LRem, JInstruction.LReturn, JInstruction.LShL, JInstruction.LShR, JInstruction.LStore, JInstruction.LStore_0, JInstruction.LStore_1, JInstruction.LStore_2, JInstruction.LStore_3, JInstruction.LSub, JInstruction.LUShR, JInstruction.LXOR, JInstruction.MonitorEnter, JInstruction.MonitorExit, JInstruction.MultiANewArray, JInstruction.New, JInstruction.NewArray, JInstruction.NOp, JInstruction.Pop, JInstruction.Pop2, JInstruction.PutField, JInstruction.PutStatic, JInstruction.Ret, JInstruction.Return, JInstruction.SALoad, JInstruction.SAStore, JInstruction.SIPush, JInstruction.Swap, JInstruction.TableSwitch, JInstruction.Wide
 
Field Summary
 
Fields inherited from interface fr.umlv.corosol.component.instruction.JInstruction
AALOAD, AASTORE, ACONST_NULL, ALOAD, ALOAD_0, ALOAD_1, ALOAD_2, ALOAD_3, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ASTORE_0, ASTORE_1, ASTORE_2, ASTORE_3, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DLOAD_0, DLOAD_1, DLOAD_2, DLOAD_3, DMUL, DNEG, DREM, DRETURN, DSTORE, DSTORE_0, DSTORE_1, DSTORE_2, DSTORE_3, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAD_0, FLOAD_1, FLOAD_2, FLOAD_3, FMUL, FNEG, FREM, FRETURN, FSTORE, FSTORE_0, FSTORE_1, FSTORE_2, FSTORE_3, FSUB, GETFIELD, GETSTATIC, GOTO, GOTO_W, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, ILOAD_0, ILOAD_1, ILOAD_2, ILOAD_3, IMUL, INEG, INSTANCEOF, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISTORE_0, ISTORE_1, ISTORE_2, ISTORE_3, ISUB, IUSHR, IXOR, JSR, JSR_W, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDC_W, LDC2_W, LDIV, LLOAD, LLOAD_0, LLOAD_1, LLOAD_2, LLOAD_3, LMUL, LNEG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSTORE_0, LSTORE_1, LSTORE_2, LSTORE_3, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, TABLESWITCH, WIDE
 
Constructor Summary
AStore_1()
          Creates a new AStore_1 object.
 
Method Summary
 void configure(JVirtualMachine jvm)
          Configures this instruction via the specified JVM.
 void exec(JThread thread)
          Executes this instruction in the specified thread.
 java.lang.Class getComponentClass()
          Returns the class object describing this component.
 int getOpcode()
          Returns the opcode of this instruction.
 void replace(JVMComponent component)
          Replaces the data of this component by the data of the specified component.
 java.lang.String toString()
          Returns a string representation of this instruction.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AStore_1

public AStore_1()
Creates a new AStore_1 object.

Method Detail

configure

public void configure(JVirtualMachine jvm)
Configures this instruction via the specified JVM. During this configuration operation, this instruction can reach any unit of the specified JVM.

Specified by:
configure in interface JVMComponent
Parameters:
jvm - the Java Virtual Machine

getComponentClass

public java.lang.Class getComponentClass()
Returns the class object describing this component.

Specified by:
getComponentClass in interface JVMComponent

replace

public void replace(JVMComponent component)
Replaces the data of this component by the data of the specified component. The type of component must be the type of this component. This method should be call when a component is replaced in the Corosol Virtual Machine.

Specified by:
replace in interface JVMComponent
Parameters:
component - a component to be used to initialize this component

exec

public void exec(JThread thread)
          throws java.lang.Throwable
Executes this instruction in the specified thread.

Specified by:
exec in interface JInstruction
Parameters:
thread - a thread
Throws:
java.lang.Throwable - if an exception occurs during execution

getOpcode

public int getOpcode()
Returns the opcode of this instruction.

Specified by:
getOpcode in interface JInstruction
Returns:
the opcode of this instruction

toString

public java.lang.String toString()
Returns a string representation of this instruction.

Overrides:
toString in class java.lang.Object
Returns:
a string representation of this instruction