Class WasmLocalInstruction

    • Field Detail

      • idx

        private int idx
        The variable slot (Java) for WasmLoadStoreInstruction and the WebAssembly variable index for a WasmLocalInstruction instance.
      • pushValueType

        private AnyType pushValueType
    • Constructor Detail

      • WasmLocalInstruction

        WasmLocalInstruction​(@Nonnull
                             VariableOperator op,
                             @Nonnegative
                             int idx,
                             LocaleVariableManager localVariables,
                             int javaCodePos,
                             int lineNumber)
        Create an instance of a load/store instruction for a local variable.
        Parameters:
        op - the operation
        idx - the memory/slot idx of the variable
        localVariables - the manager for local variables
        javaCodePos - the code position/offset in the Java method
        lineNumber - the line number in the Java source code
    • Method Detail

      • getOperator

        @Nonnull
        VariableOperator getOperator()
        Get the operator
        Returns:
        the operator
      • setOperator

        void setOperator​(@Nonnull
                         VariableOperator op)
        Set the operator
        Parameters:
        op - the operator
      • getSlot

        @Nonnegative
        int getSlot()
        Get the slot of the locals
        Returns:
        the Java slot for the variable
      • getIndex

        @Nonnegative
        int getIndex()
        Get the number of the locals
        Returns:
        the index, mostly the Wasm Index
      • writeTo

        public void writeTo​(@Nonnull
                            ModuleWriter writer)
                     throws java.io.IOException
        Write this instruction to the WASM module.
        Specified by:
        writeTo in class WasmInstruction
        Parameters:
        writer - the target writer
        Throws:
        java.io.IOException - if any I/O error occur
      • getPushValueType

        AnyType getPushValueType()
        Get the ValueType if this instruction push a value on the stack.
        Specified by:
        getPushValueType in class WasmInstruction
        Returns:
        the ValueType or null if no value is push
      • getPopCount

        int getPopCount()
        Get the count of values that are removed from the stack.
        Specified by:
        getPopCount in class WasmInstruction
        Returns:
        the count