Class WasmArrayInstruction

java.lang.Object
de.inetsoftware.jwebassembly.module.WasmInstruction
de.inetsoftware.jwebassembly.module.WasmArrayInstruction

class WasmArrayInstruction extends WasmInstruction
WasmInstruction for an array operation.
  • Field Details

  • Constructor Details

    • WasmArrayInstruction

      WasmArrayInstruction(@Nonnull ArrayOperator op, @Nonnull AnyType type, TypeManager types, int javaCodePos, int lineNumber)
      Create an instance of an array operation.
      Parameters:
      op - the array operation
      type - the type of the parameters
      types - the type manager
      javaCodePos - the code position/offset in the Java method
      lineNumber - the line number in the Java source code
  • Method Details

    • createNonGcFunction

      SyntheticFunctionName createNonGcFunction(boolean useGC)
      Create the synthetic function of this instruction if required for the operation.
      Parameters:
      useGC - true, with GC code
      Returns:
      the function or null if not needed
    • validJsName

      private static String validJsName(AnyType type)
      Get a valid JavaScript name.
      Parameters:
      type - the type
      Returns:
      the identifier that is valid
    • getType

      Get the type of instruction
      Specified by:
      getType in class WasmInstruction
      Returns:
      the type
    • writeTo

      public void writeTo(@Nonnull ModuleWriter writer) throws IOException
      Write this instruction to the WASM module.
      Specified by:
      writeTo in class WasmInstruction
      Parameters:
      writer - the target writer
      Throws:
      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
    • getPopValueTypes

      AnyType[] getPopValueTypes()
      Specified by:
      getPopValueTypes in class WasmInstruction